using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace Foxnouns.Backend.Database.Migrations { /// [DbContext(typeof(DatabaseContext))] [Migration("20240528125310_AddApplications")] public partial class AddApplications : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.AddColumn( name: "application_id", table: "tokens", type: "bigint", nullable: false, defaultValue: 0L ); migrationBuilder.AddColumn( name: "hash", table: "tokens", type: "bytea", nullable: false, defaultValue: Array.Empty() ); migrationBuilder.CreateTable( name: "applications", columns: table => new { id = table.Column(type: "bigint", nullable: false), client_id = table.Column(type: "text", nullable: false), client_secret = table.Column(type: "text", nullable: false), name = table.Column(type: "text", nullable: false), scopes = table.Column(type: "text[]", nullable: false), redirect_uris = table.Column(type: "text[]", nullable: false), }, constraints: table => table.PrimaryKey("pk_applications", x => x.id) ); migrationBuilder.CreateIndex( name: "ix_tokens_application_id", table: "tokens", column: "application_id" ); migrationBuilder.AddForeignKey( name: "fk_tokens_applications_application_id", table: "tokens", column: "application_id", principalTable: "applications", principalColumn: "id", onDelete: ReferentialAction.Cascade ); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropForeignKey( name: "fk_tokens_applications_application_id", table: "tokens" ); migrationBuilder.DropTable(name: "applications"); migrationBuilder.DropIndex(name: "ix_tokens_application_id", table: "tokens"); migrationBuilder.DropColumn(name: "application_id", table: "tokens"); migrationBuilder.DropColumn(name: "hash", table: "tokens"); } } }