fix(server): run migrations after database checks (#5832)

* run migrations after checks

* optional migrations

* only run checks in server and e2e

* re-add migrations for microservices

* refactor

* move e2e init

* remove assert from migration

* update providers

* update microservices app service

* fixed logging

* refactored version check, added unit tests

* more version tests

* don't use mocks for sut

* refactor tests

* suggest image only if postgres is 14, 15 or 16

* review suggestions

* fixed regexp escape

* fix typing

* update migration
This commit is contained in:
Mert
2023-12-21 11:06:26 -05:00
committed by GitHub
parent 2790a46703
commit cc2dc12f6c
26 changed files with 383 additions and 136 deletions

View File

@@ -1,6 +1,7 @@
import {
AssetService,
AuditService,
DatabaseService,
IDeleteFilesJob,
JobName,
JobService,
@@ -31,9 +32,11 @@ export class AppService {
private storageTemplateService: StorageTemplateService,
private storageService: StorageService,
private userService: UserService,
private databaseService: DatabaseService,
) {}
async init() {
await this.databaseService.init();
await this.configService.init();
await this.jobService.registerHandlers({
[JobName.ASSET_DELETION]: (data) => this.assetService.handleAssetDeletion(data),

View File

@@ -1,5 +1,5 @@
import { envName, serverVersion } from '@app/domain';
import { WebSocketAdapter, databaseChecks } from '@app/infra';
import { WebSocketAdapter } from '@app/infra';
import { ImmichLogger } from '@app/infra/logger';
import { NestFactory } from '@nestjs/core';
import { MicroservicesModule } from './microservices.module';
@@ -12,7 +12,6 @@ export async function bootstrap() {
app.useLogger(app.get(ImmichLogger));
app.useWebSocketAdapter(new WebSocketAdapter(app));
await databaseChecks();
await app.listen(port);