mirror of
https://github.com/immich-app/immich.git
synced 2025-05-31 04:05:39 -04:00
fix(server): set updatedAt
on updates (#15573)
* `updatedAt` triggers * drop function at the end
This commit is contained in:
parent
1869b1b41a
commit
a07ae9b5b2
102
server/src/migrations/1737672307560-AddUpdatedAtTriggers.ts
Normal file
102
server/src/migrations/1737672307560-AddUpdatedAtTriggers.ts
Normal 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`);
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user