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 =