mirror of
https://github.com/immich-app/immich.git
synced 2025-12-24 09:14:58 +03:00
* fix: pgvecto.rs extension breaks typeorm schema:drop command * fix: parse postgres bigints to javascript number types when selecting data * feat: verify file size is the same as original asset after copying file for storage template job * feat: allow disabling of storage template job, defaults to disabled for new instances * fix: don't allow setting concurrency for storage template migration, can cause race conditions above 1 * feat: add checksum verification when file is copied for storage template job * fix: extract metadata for assets that aren't visible on timeline
29 lines
983 B
TypeScript
29 lines
983 B
TypeScript
import { DataSource } from 'typeorm';
|
|
import { PostgresConnectionOptions } from 'typeorm/driver/postgres/PostgresConnectionOptions';
|
|
|
|
const url = process.env.DB_URL;
|
|
const urlOrParts = url
|
|
? { url }
|
|
: {
|
|
host: process.env.DB_HOSTNAME || 'localhost',
|
|
port: parseInt(process.env.DB_PORT || '5432'),
|
|
username: process.env.DB_USERNAME || 'postgres',
|
|
password: process.env.DB_PASSWORD || 'postgres',
|
|
database: process.env.DB_DATABASE_NAME || 'immich',
|
|
};
|
|
|
|
export const databaseConfig: PostgresConnectionOptions = {
|
|
type: 'postgres',
|
|
entities: [__dirname + '/entities/*.entity.{js,ts}'],
|
|
synchronize: false,
|
|
migrations: [__dirname + '/migrations/*.{js,ts}'],
|
|
subscribers: [__dirname + '/subscribers/*.{js,ts}'],
|
|
migrationsRun: false,
|
|
connectTimeoutMS: 10000, // 10 seconds
|
|
parseInt8: true,
|
|
...urlOrParts,
|
|
};
|
|
|
|
// this export is used by TypeORM commands in package.json#scripts
|
|
export const dataSource = new DataSource(databaseConfig);
|