diff --git a/Iceshrimp.Backend/Core/Database/Migrations/v2024.1-beta3/20240711213718_RemoveExtraneousUserColumns.cs b/Iceshrimp.Backend/Core/Database/Migrations/v2024.1-beta3/20240711213718_RemoveExtraneousUserColumns.cs
index 1ea5f860..5c730540 100644
--- a/Iceshrimp.Backend/Core/Database/Migrations/v2024.1-beta3/20240711213718_RemoveExtraneousUserColumns.cs
+++ b/Iceshrimp.Backend/Core/Database/Migrations/v2024.1-beta3/20240711213718_RemoveExtraneousUserColumns.cs
@@ -13,9 +13,10 @@ namespace Iceshrimp.Backend.Core.Database.Migrations
///
protected override void Up(MigrationBuilder migrationBuilder)
{
- migrationBuilder.DropIndex(
- name: "IX_user_token",
- table: "user");
+ migrationBuilder.Sql("""
+ ALTER TABLE "user" DROP CONSTRAINT IF EXISTS "IX_user_token";
+ DROP INDEX IF EXISTS "IX_user_token";
+ """);
migrationBuilder.DropColumn(
name: "hideOnlineStatus",
diff --git a/Iceshrimp.Backend/Core/Database/Migrations/v2024.1-beta3/20240712174827_ConvertConstraintsToUniqueIndicies.cs b/Iceshrimp.Backend/Core/Database/Migrations/v2024.1-beta3/20240712174827_ConvertConstraintsToUniqueIndicies.cs
new file mode 100644
index 00000000..8e1cd6ca
--- /dev/null
+++ b/Iceshrimp.Backend/Core/Database/Migrations/v2024.1-beta3/20240712174827_ConvertConstraintsToUniqueIndicies.cs
@@ -0,0 +1,39 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+
+#nullable disable
+
+namespace Iceshrimp.Backend.Core.Database.Migrations
+{
+ ///
+ [DbContext(typeof(DatabaseContext))]
+ [Migration("20240712174827_ConvertConstraintsToUniqueIndicies")]
+ public partial class ConvertConstraintsToUniqueIndicies : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.Sql("""
+ ALTER TABLE "user" DROP CONSTRAINT IF EXISTS "IX_user_avatarId";
+ ALTER TABLE "user" DROP CONSTRAINT IF EXISTS "IX_user_bannerId";
+ ALTER TABLE "user_profile" DROP CONSTRAINT IF EXISTS "IX_user_profile_pinnedPageId";
+ CREATE UNIQUE INDEX IF NOT EXISTS "IX_user_avatarId" ON "user" ("avatarId");
+ CREATE UNIQUE INDEX IF NOT EXISTS "IX_user_bannerId" ON "user" ("bannerId");
+ CREATE UNIQUE INDEX IF NOT EXISTS "IX_user_profile_pinnedPageId" ON "user_profile" ("pinnedPageId");
+ """);
+ }
+
+ ///
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.Sql("""
+ DROP INDEX "IX_user_avatarId";
+ DROP INDEX "IX_user_bannerId";
+ DROP INDEX "IX_user_profile_pinnedPageId";
+ ALTER TABLE "user" ADD CONSTRAINT "IX_user_avatarId" UNIQUE ("avatarId");
+ ALTER TABLE "user" ADD CONSTRAINT "IX_user_bannerId" UNIQUE ("bannerId");
+ ALTER TABLE "user_profile" ADD CONSTRAINT "IX_user_profile_pinnedPageId" UNIQUE ("pinnedPageId");
+ """);
+ }
+ }
+}