mirror of
https://github.com/immich-app/immich
synced 2025-11-07 17:27:20 +00:00
* feat: sync assets, partner assets, exif, and partner exif Co-authored-by: Zack Pollard <zack@futo.org> Co-authored-by: Alex Tran <alex.tran1502@gmail.com> * refactor: remove duplicate where clause and orderBy statements in sync queries * fix: asset deletes not filtering by ownerId --------- Co-authored-by: Zack Pollard <zack@futo.org> Co-authored-by: Alex Tran <alex.tran1502@gmail.com> Co-authored-by: Zack Pollard <zackpollard@ymail.com>
50 lines
1.7 KiB
TypeScript
50 lines
1.7 KiB
TypeScript
import { MigrationInterface, QueryRunner } from 'typeorm';
|
|
|
|
export class FixAssetAndUserCascadeConditions1741280328985 implements MigrationInterface {
|
|
name = 'FixAssetAndUserCascadeConditions1741280328985';
|
|
|
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.query(`
|
|
CREATE OR REPLACE TRIGGER assets_delete_audit
|
|
AFTER DELETE ON assets
|
|
REFERENCING OLD TABLE AS OLD
|
|
FOR EACH STATEMENT
|
|
WHEN (pg_trigger_depth() = 0)
|
|
EXECUTE FUNCTION assets_delete_audit();`);
|
|
await queryRunner.query(`
|
|
CREATE OR REPLACE TRIGGER users_delete_audit
|
|
AFTER DELETE ON users
|
|
REFERENCING OLD TABLE AS OLD
|
|
FOR EACH STATEMENT
|
|
WHEN (pg_trigger_depth() = 0)
|
|
EXECUTE FUNCTION users_delete_audit();`);
|
|
await queryRunner.query(`
|
|
CREATE OR REPLACE TRIGGER partners_delete_audit
|
|
AFTER DELETE ON partners
|
|
REFERENCING OLD TABLE AS OLD
|
|
FOR EACH STATEMENT
|
|
WHEN (pg_trigger_depth() = 0)
|
|
EXECUTE FUNCTION partners_delete_audit();`);
|
|
}
|
|
|
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.query(`
|
|
CREATE OR REPLACE TRIGGER assets_delete_audit
|
|
AFTER DELETE ON assets
|
|
REFERENCING OLD TABLE AS OLD
|
|
FOR EACH STATEMENT
|
|
EXECUTE FUNCTION assets_delete_audit();`);
|
|
await queryRunner.query(`
|
|
CREATE OR REPLACE TRIGGER users_delete_audit
|
|
AFTER DELETE ON users
|
|
REFERENCING OLD TABLE AS OLD
|
|
FOR EACH STATEMENT
|
|
EXECUTE FUNCTION users_delete_audit();`);
|
|
await queryRunner.query(`
|
|
CREATE OR REPLACE TRIGGER partners_delete_audit
|
|
AFTER DELETE ON partners
|
|
REFERENCING OLD TABLE AS OLD
|
|
FOR EACH STATEMENT
|
|
EXECUTE FUNCTION partners_delete_audit();`);
|
|
}
|
|
}
|