diff --git a/server/src/schema/functions.ts b/server/src/schema/functions.ts index d9a03b2fa1..d7dabfef4c 100644 --- a/server/src/schema/functions.ts +++ b/server/src/schema/functions.ts @@ -264,8 +264,8 @@ export const asset_edit_insert = registerFunction({ BEGIN UPDATE asset SET "isEdited" = true - FROM new - WHERE asset.id = new."assetId" AND NOT asset."isEdited"; + FROM inserted_edit + WHERE asset.id = inserted_edit."assetId" AND NOT asset."isEdited"; RETURN NULL; END `, @@ -279,8 +279,8 @@ export const asset_edit_delete = registerFunction({ BEGIN UPDATE asset SET "isEdited" = false - FROM old - WHERE asset.id = old."assetId" AND asset."isEdited" + FROM deleted_edit + WHERE asset.id = deleted_edit."assetId" AND asset."isEdited" AND NOT EXISTS (SELECT FROM asset_edit edit WHERE edit."assetId" = asset.id); RETURN NULL; END diff --git a/server/src/schema/migrations/1768626427850-SwitchToIsEdited.ts b/server/src/schema/migrations/1768626427850-SwitchToIsEdited.ts index 5dc6789d94..30de9f9308 100644 --- a/server/src/schema/migrations/1768626427850-SwitchToIsEdited.ts +++ b/server/src/schema/migrations/1768626427850-SwitchToIsEdited.ts @@ -8,8 +8,8 @@ export async function up(db: Kysely): Promise { BEGIN UPDATE asset SET "isEdited" = true - FROM new - WHERE asset.id = new."assetId" AND NOT asset."isEdited"; + FROM inserted_edit + WHERE asset.id = inserted_edit."assetId" AND NOT asset."isEdited"; RETURN NULL; END $$;`.execute(db); @@ -20,8 +20,8 @@ export async function up(db: Kysely): Promise { BEGIN UPDATE asset SET "isEdited" = false - FROM old - WHERE asset.id = old."assetId" AND asset."isEdited" + FROM deleted_edit + WHERE asset.id = deleted_edit."assetId" AND asset."isEdited" AND NOT EXISTS (SELECT FROM asset_edit edit WHERE edit."assetId" = asset.id); RETURN NULL; END @@ -29,13 +29,13 @@ export async function up(db: Kysely): Promise { await sql`ALTER TABLE "asset" ADD "isEdited" boolean NOT NULL DEFAULT false;`.execute(db); await sql`CREATE OR REPLACE TRIGGER "asset_edit_delete" AFTER DELETE ON "asset_edit" - REFERENCING OLD TABLE AS "old" + REFERENCING OLD TABLE AS "deleted_edit" FOR EACH STATEMENT WHEN (pg_trigger_depth() = 0) EXECUTE FUNCTION asset_edit_delete();`.execute(db); await sql`CREATE OR REPLACE TRIGGER "asset_edit_insert" AFTER INSERT ON "asset_edit" - REFERENCING NEW TABLE AS "new" + REFERENCING NEW TABLE AS "inserted_edit" FOR EACH STATEMENT EXECUTE FUNCTION asset_edit_insert();`.execute(db); await sql`ALTER TABLE "asset" DROP COLUMN "editCount";`.execute(db); diff --git a/server/src/schema/tables/asset-edit.table.ts b/server/src/schema/tables/asset-edit.table.ts index 3d600ff6cb..ad0b443b69 100644 --- a/server/src/schema/tables/asset-edit.table.ts +++ b/server/src/schema/tables/asset-edit.table.ts @@ -12,11 +12,11 @@ import { } from 'src/sql-tools'; @Table('asset_edit') -@AfterInsertTrigger({ scope: 'statement', function: asset_edit_insert, referencingNewTableAs: 'new' }) +@AfterInsertTrigger({ scope: 'statement', function: asset_edit_insert, referencingNewTableAs: 'inserted_edit' }) @AfterDeleteTrigger({ scope: 'statement', function: asset_edit_delete, - referencingOldTableAs: 'old', + referencingOldTableAs: 'deleted_edit', when: 'pg_trigger_depth() = 0', }) export class AssetEditTable {