using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Flaro.Data.Migrations
{
///
public partial class Besitzer : Migration
{
///
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn(
name: "IsOwner",
table: "Users",
type: "INTEGER",
nullable: false,
defaultValue: false);
// **Der Älteste erbt.** Auf einem Server, den es schon gibt, ist
// der Besitzer das Konto, mit dem eingerichtet wurde — und das
// ist das mit der kleinsten Kennung, weil die zeitlich geordnet
// vergeben werden (`Guid.CreateVersion7`).
//
// Ohne diese Zeilen hätte ein bestehender Server gar keinen
// Besitzer, und das Adminrecht liesse sich bis zum letzten
// Administrator abräumen.
migrationBuilder.Sql(
"""
UPDATE Users SET IsOwner = 1
WHERE Id = (SELECT Id FROM Users ORDER BY Id LIMIT 1);
""");
}
///
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "IsOwner",
table: "Users");
}
}
}