1
0
Fork 0
mirror of https://github.com/immich-app/immich.git synced 2025-04-04 15:16:24 +02:00

fix(server): set updatedAt on updates ()

* `updatedAt` triggers

* drop function at the end
This commit is contained in:
Mert 2025-01-23 19:24:29 -05:00 committed by GitHub
parent 1869b1b41a
commit a07ae9b5b2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -0,0 +1,102 @@
import { MigrationInterface, QueryRunner } from 'typeorm';
export class AddUpdatedAtTriggers1737672307560 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`
create function updated_at()
returns trigger as $$
begin
new."updatedAt" = now();
return new;
end;
$$ language 'plpgsql'`);
await queryRunner.query(`
create trigger activity_updated_at
before update on activity
for each row execute procedure updated_at()
`);
await queryRunner.query(`
create trigger albums_updated_at
before update on albums
for each row execute procedure updated_at()
`);
await queryRunner.query(`
create trigger api_keys_updated_at
before update on api_keys
for each row execute procedure updated_at()
`);
await queryRunner.query(`
create trigger asset_files_updated_at
before update on asset_files
for each row execute procedure updated_at()
`);
await queryRunner.query(`
create trigger assets_updated_at
before update on assets
for each row execute procedure updated_at()
`);
await queryRunner.query(`
create trigger libraries_updated_at
before update on libraries
for each row execute procedure updated_at()
`);
await queryRunner.query(`
create trigger memories_updated_at
before update on memories
for each row execute procedure updated_at()
`);
await queryRunner.query(`
create trigger partners_updated_at
before update on partners
for each row execute procedure updated_at()
`);
await queryRunner.query(`
create trigger person_updated_at
before update on person
for each row execute procedure updated_at()
`);
await queryRunner.query(`
create trigger sessions_updated_at
before update on sessions
for each row execute procedure updated_at()
`);
await queryRunner.query(`
create trigger tags_updated_at
before update on tags
for each row execute procedure updated_at()
`);
await queryRunner.query(`
create trigger users_updated_at
before update on users
for each row execute procedure updated_at()
`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`drop trigger activity_updated_at on activity`);
await queryRunner.query(`drop trigger albums_updated_at on albums`);
await queryRunner.query(`drop trigger api_keys_updated_at on api_keys`);
await queryRunner.query(`drop trigger asset_files_updated_at on asset_files`);
await queryRunner.query(`drop trigger assets_updated_at on assets`);
await queryRunner.query(`drop trigger libraries_updated_at on libraries`);
await queryRunner.query(`drop trigger memories_updated_at on memories`);
await queryRunner.query(`drop trigger partners_updated_at on partners`);
await queryRunner.query(`drop trigger person_updated_at on person`);
await queryRunner.query(`drop trigger sessions_updated_at on sessions`);
await queryRunner.query(`drop trigger tags_updated_at on tags`);
await queryRunner.query(`drop trigger users_updated_at on users`);
await queryRunner.query(`drop function updated_at_trigger`);
}
}