mirror of
https://github.com/immich-app/immich.git
synced 2025-06-23 15:30:51 -04:00
fix(server): migration failing on pg15+ (#19363)
* reset params * unused parameter
This commit is contained in:
parent
7c43e6c3c8
commit
11c469907f
@ -1,15 +1,21 @@
|
|||||||
import { Kysely, sql } from 'kysely';
|
import { Kysely, sql } from 'kysely';
|
||||||
|
|
||||||
export async function up(db: Kysely<any>): Promise<void> {
|
export async function up(qb: Kysely<any>): Promise<void> {
|
||||||
const { rows } = await sql<{ db: string }>`SELECT current_database() as db;`.execute(db);
|
type Conf = { db: string; guc: string[] };
|
||||||
const databaseName = rows[0].db;
|
const res = await sql<Conf>`select current_database() db, to_json(setconfig) guc from pg_db_role_setting`.execute(qb);
|
||||||
await sql.raw(`ALTER DATABASE "${databaseName}" RESET vchordrq.prewarm_dim;`).execute(db);
|
if (res.rows.length === 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
await sql`alter database immich reset all;`.execute(qb);
|
||||||
|
const { db, guc } = res.rows[0];
|
||||||
|
for (const parameter of guc) {
|
||||||
|
const [key, value] = parameter.split('=');
|
||||||
|
if (key === 'vchordrq.prewarm_dim') {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
await sql.raw(`alter database "${db}" set ${key} to ${value};`).execute(qb);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function down(db: Kysely<any>): Promise<void> {
|
export async function down(): Promise<void> {}
|
||||||
const { rows } = await sql<{ db: string }>`SELECT current_database() as db;`.execute(db);
|
|
||||||
const databaseName = rows[0].db;
|
|
||||||
await sql
|
|
||||||
.raw(`ALTER DATABASE "${databaseName}" SET vchordrq.prewarm_dim = '512,640,768,1024,1152,1536';`)
|
|
||||||
.execute(db);
|
|
||||||
}
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user