diff --git a/packages/cli-module-build/src/lib/runner/runBackend.ts b/packages/cli-module-build/src/lib/runner/runBackend.ts index 40124d39a0..272eddd360 100644 --- a/packages/cli-module-build/src/lib/runner/runBackend.ts +++ b/packages/cli-module-build/src/lib/runner/runBackend.ts @@ -66,12 +66,14 @@ export async function runBackend(options: RunBackendOptions) { const extraEnv: Record = {}; + let embeddedDb: Awaited> | undefined; + const dbClient = await readDatabaseClient(options.configPaths); if (dbClient === 'embedded-postgres') { - const db = await startEmbeddedDb(); + embeddedDb = await startEmbeddedDb(); extraEnv.APP_CONFIG_backend_database = JSON.stringify({ client: 'pg', - connection: db.connection, + connection: embeddedDb.connection, }); } @@ -205,6 +207,7 @@ export async function runBackend(options: RunBackendOptions) { }); } + await embeddedDb?.close(); resolveExitPromise(); } @@ -224,7 +227,7 @@ async function readDatabaseClient( allowMissingDefaultConfig: true, argv: (configPaths ?? []).flatMap(p => [ '--config', - resolvePath(rootDir, p), + isAbsolutePath(p) ? p : resolvePath(rootDir, p), ]), }); diff --git a/packages/cli-module-build/src/lib/runner/startEmbeddedDb.ts b/packages/cli-module-build/src/lib/runner/startEmbeddedDb.ts index 4e02bf5819..504c9b219b 100644 --- a/packages/cli-module-build/src/lib/runner/startEmbeddedDb.ts +++ b/packages/cli-module-build/src/lib/runner/startEmbeddedDb.ts @@ -45,7 +45,9 @@ export async function startEmbeddedDb() { password, port, persistent: false, - onError() {}, + onError(messageOrError) { + console.error(`[embedded-postgres]`, messageOrError); + }, onLog() {}, }); @@ -64,7 +66,7 @@ export async function startEmbeddedDb() { }, async close() { await pg.stop(); - await fs.rmdir(tmpDir, { recursive: true, maxRetries: 3 }); + await fs.remove(tmpDir); }, }; }