using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace Foxnouns.Backend.Database.Migrations { /// 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: new byte[0]); 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"); } } }