using System; using Microsoft.EntityFrameworkCore.Migrations; using NodaTime; #nullable disable namespace DysonNetwork.Pass.Migrations { /// public partial class AddApiKeys : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.DropForeignKey( name: "fk_auth_sessions_auth_challenges_challenge_id", table: "auth_sessions"); migrationBuilder.DropColumn( name: "label", table: "auth_sessions"); migrationBuilder.AlterColumn( name: "challenge_id", table: "auth_sessions", type: "uuid", nullable: true, oldClrType: typeof(Guid), oldType: "uuid"); migrationBuilder.CreateTable( name: "api_keys", columns: table => new { id = table.Column(type: "uuid", nullable: false), label = table.Column(type: "character varying(1024)", maxLength: 1024, nullable: false), account_id = table.Column(type: "uuid", nullable: false), session_id = table.Column(type: "uuid", nullable: false), created_at = table.Column(type: "timestamp with time zone", nullable: false), updated_at = table.Column(type: "timestamp with time zone", nullable: false), deleted_at = table.Column(type: "timestamp with time zone", nullable: true) }, constraints: table => { table.PrimaryKey("pk_api_keys", x => x.id); table.ForeignKey( name: "fk_api_keys_accounts_account_id", column: x => x.account_id, principalTable: "accounts", principalColumn: "id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "fk_api_keys_auth_sessions_session_id", column: x => x.session_id, principalTable: "auth_sessions", principalColumn: "id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateIndex( name: "ix_api_keys_account_id", table: "api_keys", column: "account_id"); migrationBuilder.CreateIndex( name: "ix_api_keys_session_id", table: "api_keys", column: "session_id"); migrationBuilder.AddForeignKey( name: "fk_auth_sessions_auth_challenges_challenge_id", table: "auth_sessions", column: "challenge_id", principalTable: "auth_challenges", principalColumn: "id"); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropForeignKey( name: "fk_auth_sessions_auth_challenges_challenge_id", table: "auth_sessions"); migrationBuilder.DropTable( name: "api_keys"); migrationBuilder.AlterColumn( name: "challenge_id", table: "auth_sessions", type: "uuid", nullable: false, defaultValue: new Guid("00000000-0000-0000-0000-000000000000"), oldClrType: typeof(Guid), oldType: "uuid", oldNullable: true); migrationBuilder.AddColumn( name: "label", table: "auth_sessions", type: "character varying(1024)", maxLength: 1024, nullable: true); migrationBuilder.AddForeignKey( name: "fk_auth_sessions_auth_challenges_challenge_id", table: "auth_sessions", column: "challenge_id", principalTable: "auth_challenges", principalColumn: "id", onDelete: ReferentialAction.Cascade); } } }