diff --git a/backend/src/Modules/Auth/Migrations/20260407181656_AddUserInfoFields.cs b/backend/src/Modules/Auth/Migrations/20260407181656_AddUserInfoFields.cs index 1d17877..eb35b6e 100644 --- a/backend/src/Modules/Auth/Migrations/20260407181656_AddUserInfoFields.cs +++ b/backend/src/Modules/Auth/Migrations/20260407181656_AddUserInfoFields.cs @@ -1,4 +1,4 @@ -using System; +using System; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable @@ -8,60 +8,30 @@ namespace Knot.Modules.Auth.Migrations /// public partial class AddUserInfoFields : Migration { - /// protected override void Up(MigrationBuilder migrationBuilder) { - migrationBuilder.AddColumn( - name: "BannedUntil", - schema: "identity", - table: "Users", - type: "timestamp with time zone", - nullable: true); + migrationBuilder.Sql(@" + DO $$ + BEGIN + IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema='identity' AND table_name='Users' AND column_name='BannedUntil') THEN + ALTER TABLE identity.""Users"" ADD ""BannedUntil"" timestamp with time zone; + END IF; - migrationBuilder.AddColumn( - name: "PhoneNumber", - schema: "identity", - table: "Users", - type: "text", - nullable: true); + IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema='identity' AND table_name='Users' AND column_name='PhoneNumber') THEN + ALTER TABLE identity.""Users"" ADD ""PhoneNumber"" text; + END IF; - migrationBuilder.AddColumn( - name: "RefreshToken", - schema: "identity", - table: "Users", - type: "text", - nullable: true); - - migrationBuilder.AddColumn( - name: "UserDomain", - schema: "identity", - table: "Users", - type: "text", - nullable: true); + IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema='identity' AND table_name='Users' AND column_name='RefreshToken') THEN + ALTER TABLE identity.""Users"" ADD ""RefreshToken"" text; + END IF; + END $$;"); } - /// protected override void Down(MigrationBuilder migrationBuilder) { - migrationBuilder.DropColumn( - name: "BannedUntil", - schema: "identity", - table: "Users"); - - migrationBuilder.DropColumn( - name: "PhoneNumber", - schema: "identity", - table: "Users"); - - migrationBuilder.DropColumn( - name: "RefreshToken", - schema: "identity", - table: "Users"); - - migrationBuilder.DropColumn( - name: "UserDomain", - schema: "identity", - table: "Users"); + migrationBuilder.DropColumn(name: "BannedUntil", schema: "identity", table: "Users"); + migrationBuilder.DropColumn(name: "PhoneNumber", schema: "identity", table: "Users"); + migrationBuilder.DropColumn(name: "RefreshToken", schema: "identity", table: "Users"); } } }