mirror of
https://github.com/immich-app/immich.git
synced 2025-12-23 17:25:11 +03:00
chore: migrate database files (#8126)
This commit is contained in:
23
server/src/migrations/1700714033632-AddFaceEmbeddingIndex.ts
Normal file
23
server/src/migrations/1700714033632-AddFaceEmbeddingIndex.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import { vectorExt } from 'src/infra/database.config';
|
||||
import { DatabaseExtension } from 'src/interfaces/database.repository';
|
||||
import { MigrationInterface, QueryRunner } from 'typeorm';
|
||||
|
||||
export class AddFaceEmbeddingIndex1700714033632 implements MigrationInterface {
|
||||
name = 'AddFaceEmbeddingIndex1700714033632';
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
if (vectorExt === DatabaseExtension.VECTORS) {
|
||||
await queryRunner.query(`SET vectors.pgvector_compatibility=on`);
|
||||
}
|
||||
await queryRunner.query(`SET search_path TO "$user", public, vectors`);
|
||||
|
||||
await queryRunner.query(`
|
||||
CREATE INDEX IF NOT EXISTS face_index ON asset_faces
|
||||
USING hnsw (embedding vector_cosine_ops)
|
||||
WITH (ef_construction = 300, m = 16)`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`DROP INDEX IF EXISTS face_index`);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user