mirror of
https://github.com/immich-app/immich.git
synced 2025-07-31 15:08:44 -04:00
feat: allow unordered migrations in dev (#19881)
This commit is contained in:
parent
a625921e8f
commit
1cc5ca14ca
@ -334,6 +334,10 @@ export class ConfigRepository {
|
|||||||
return cached;
|
return cached;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isDev() {
|
||||||
|
return this.getEnv().environment === ImmichEnvironment.DEVELOPMENT;
|
||||||
|
}
|
||||||
|
|
||||||
getWorker() {
|
getWorker() {
|
||||||
return this.worker;
|
return this.worker;
|
||||||
}
|
}
|
||||||
|
@ -406,6 +406,7 @@ export class DatabaseRepository {
|
|||||||
const migrator = new Migrator({
|
const migrator = new Migrator({
|
||||||
db: this.db,
|
db: this.db,
|
||||||
migrationLockTableName: 'kysely_migrations_lock',
|
migrationLockTableName: 'kysely_migrations_lock',
|
||||||
|
allowUnorderedMigrations: this.configRepository.isDev(),
|
||||||
migrationTableName: 'kysely_migrations',
|
migrationTableName: 'kysely_migrations',
|
||||||
provider: new FileMigrationProvider({
|
provider: new FileMigrationProvider({
|
||||||
fs: { readdir },
|
fs: { readdir },
|
||||||
|
@ -7,7 +7,6 @@ import { existsSync } from 'node:fs';
|
|||||||
import sirv from 'sirv';
|
import sirv from 'sirv';
|
||||||
import { ApiModule } from 'src/app.module';
|
import { ApiModule } from 'src/app.module';
|
||||||
import { excludePaths, serverVersion } from 'src/constants';
|
import { excludePaths, serverVersion } from 'src/constants';
|
||||||
import { ImmichEnvironment } from 'src/enum';
|
|
||||||
import { WebSocketAdapter } from 'src/middleware/websocket.adapter';
|
import { WebSocketAdapter } from 'src/middleware/websocket.adapter';
|
||||||
import { ConfigRepository } from 'src/repositories/config.repository';
|
import { ConfigRepository } from 'src/repositories/config.repository';
|
||||||
import { LoggingRepository } from 'src/repositories/logging.repository';
|
import { LoggingRepository } from 'src/repositories/logging.repository';
|
||||||
@ -27,7 +26,6 @@ async function bootstrap() {
|
|||||||
const configRepository = app.get(ConfigRepository);
|
const configRepository = app.get(ConfigRepository);
|
||||||
|
|
||||||
const { environment, host, port, resourcePaths } = configRepository.getEnv();
|
const { environment, host, port, resourcePaths } = configRepository.getEnv();
|
||||||
const isDev = environment === ImmichEnvironment.DEVELOPMENT;
|
|
||||||
|
|
||||||
logger.setContext('Bootstrap');
|
logger.setContext('Bootstrap');
|
||||||
app.useLogger(logger);
|
app.useLogger(logger);
|
||||||
@ -35,11 +33,11 @@ async function bootstrap() {
|
|||||||
app.set('etag', 'strong');
|
app.set('etag', 'strong');
|
||||||
app.use(cookieParser());
|
app.use(cookieParser());
|
||||||
app.use(json({ limit: '10mb' }));
|
app.use(json({ limit: '10mb' }));
|
||||||
if (isDev) {
|
if (configRepository.isDev()) {
|
||||||
app.enableCors();
|
app.enableCors();
|
||||||
}
|
}
|
||||||
app.useWebSocketAdapter(new WebSocketAdapter(app));
|
app.useWebSocketAdapter(new WebSocketAdapter(app));
|
||||||
useSwagger(app, { write: isDev });
|
useSwagger(app, { write: configRepository.isDev() });
|
||||||
|
|
||||||
app.setGlobalPrefix('api', { exclude: excludePaths });
|
app.setGlobalPrefix('api', { exclude: excludePaths });
|
||||||
if (existsSync(resourcePaths.web.root)) {
|
if (existsSync(resourcePaths.web.root)) {
|
||||||
|
@ -94,5 +94,6 @@ export const newConfigRepositoryMock = (): Mocked<RepositoryInterface<ConfigRepo
|
|||||||
return {
|
return {
|
||||||
getEnv: vitest.fn().mockReturnValue(mockEnvData({})),
|
getEnv: vitest.fn().mockReturnValue(mockEnvData({})),
|
||||||
getWorker: vitest.fn().mockReturnValue(ImmichWorker.API),
|
getWorker: vitest.fn().mockReturnValue(ImmichWorker.API),
|
||||||
|
isDev: vitest.fn().mockReturnValue(false),
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user