From 805bb848773b0c2f49cfe177fa2a8e707c9d27e9 Mon Sep 17 00:00:00 2001 From: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com> Date: Thu, 18 Jun 2026 23:51:38 +0200 Subject: [PATCH] fix: defensive album owner migration (#29200) --- .../migrations/1776848612954-MigrateAlbumOwnerIdToAlbumUser.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/server/src/schema/migrations/1776848612954-MigrateAlbumOwnerIdToAlbumUser.ts b/server/src/schema/migrations/1776848612954-MigrateAlbumOwnerIdToAlbumUser.ts index bb9d68a4e..60c543f40 100644 --- a/server/src/schema/migrations/1776848612954-MigrateAlbumOwnerIdToAlbumUser.ts +++ b/server/src/schema/migrations/1776848612954-MigrateAlbumOwnerIdToAlbumUser.ts @@ -26,6 +26,7 @@ export async function up(db: Kysely): Promise { .selectFrom('album') .select(['album.id as albumId', 'album.ownerId as userId', eb.val(AlbumUserRole.Owner).as('role')]), ) + .onConflict((cb) => cb.columns(['albumId', 'userId']).doUpdateSet({ role: AlbumUserRole.Owner })) .execute(); await sql`ALTER TABLE "album" DROP CONSTRAINT "album_ownerId_fkey";`.execute(db); await sql`ALTER TABLE "album" DROP COLUMN "ownerId";`.execute(db);