From fe8d9fb1c257bfc4e6736c48cfb20a3db8d783b2 Mon Sep 17 00:00:00 2001 From: daedalus <44623501+ComfortablyCoding@users.noreply.github.com> Date: Fri, 9 Aug 2024 03:45:43 -0400 Subject: [PATCH] Fix `DB_CLIENT` expected before project initialized (#23256) --- .changeset/tender-dragons-teach.md | 5 +++++ api/src/database/index.ts | 4 ++-- .../database/migrations/20240806A-permissions-policies.ts | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 .changeset/tender-dragons-teach.md diff --git a/.changeset/tender-dragons-teach.md b/.changeset/tender-dragons-teach.md new file mode 100644 index 0000000000..dac89fca54 --- /dev/null +++ b/.changeset/tender-dragons-teach.md @@ -0,0 +1,5 @@ +--- +'@directus/api': patch +--- + +Fixed `"DB_CLIENT" Environment Variable is missing.` appearing during `directus init` diff --git a/api/src/database/index.ts b/api/src/database/index.ts index 3ce8039458..cc0b1b771d 100644 --- a/api/src/database/index.ts +++ b/api/src/database/index.ts @@ -191,12 +191,12 @@ export function getDatabase(): Knex { return database; } -export function getSchemaInspector(): SchemaInspector { +export function getSchemaInspector(database?: Knex): SchemaInspector { if (inspector) { return inspector; } - const database = getDatabase(); + database ??= getDatabase(); inspector = createInspector(database); diff --git a/api/src/database/migrations/20240806A-permissions-policies.ts b/api/src/database/migrations/20240806A-permissions-policies.ts index 79a37ecb47..ffeaf5650c 100644 --- a/api/src/database/migrations/20240806A-permissions-policies.ts +++ b/api/src/database/migrations/20240806A-permissions-policies.ts @@ -237,7 +237,7 @@ export async function up(knex: Knex) { }); try { - const inspector = await getSchemaInspector(); + const inspector = await getSchemaInspector(knex); const foreignKeys = await inspector.foreignKeys('directus_permissions'); const foreignConstraint =