From 2f3db645ef6e3c5dc6c17f1fdb51bbdcf6590c92 Mon Sep 17 00:00:00 2001 From: Aiden Foxx Date: Mon, 12 Jul 2021 14:09:50 +0200 Subject: [PATCH] Fixed migration changing filesize failing on Oracle (#6722) --- .../migrations/20201105B-change-webhook-url-type.ts | 3 +-- .../migrations/20210312A-webhooks-collections-text.ts | 3 +-- .../migrations/20210626A-change-filesize-bigint.ts | 10 ++++++++++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/api/src/database/migrations/20201105B-change-webhook-url-type.ts b/api/src/database/migrations/20201105B-change-webhook-url-type.ts index 3107d4d9dd..b733d5a21b 100644 --- a/api/src/database/migrations/20201105B-change-webhook-url-type.ts +++ b/api/src/database/migrations/20201105B-change-webhook-url-type.ts @@ -1,7 +1,6 @@ import { Knex } from 'knex'; // @ts-ignore import Client_Oracledb from 'knex/lib/dialects/oracledb'; -import env from '../../env'; async function oracleAlterUrl(knex: Knex, type: string): Promise { await knex.raw('ALTER TABLE "directus_webhooks" ADD "url__temp" ?', [knex.raw(type)]); @@ -23,7 +22,7 @@ export async function up(knex: Knex): Promise { } export async function down(knex: Knex): Promise { - if (env.DB_CLIENT === 'oracledb') { + if (knex.client instanceof Client_Oracledb) { await oracleAlterUrl(knex, 'VARCHAR2(255)'); return; } diff --git a/api/src/database/migrations/20210312A-webhooks-collections-text.ts b/api/src/database/migrations/20210312A-webhooks-collections-text.ts index 489e0253f5..4e93c092d1 100644 --- a/api/src/database/migrations/20210312A-webhooks-collections-text.ts +++ b/api/src/database/migrations/20210312A-webhooks-collections-text.ts @@ -1,7 +1,6 @@ import { Knex } from 'knex'; // @ts-ignore import Client_Oracledb from 'knex/lib/dialects/oracledb'; -import env from '../../env'; async function oracleAlterCollections(knex: Knex, type: string): Promise { await knex.raw('ALTER TABLE "directus_webhooks" ADD "collections__temp" ?', [knex.raw(type)]); @@ -23,7 +22,7 @@ export async function up(knex: Knex): Promise { } export async function down(knex: Knex): Promise { - if (env.DB_CLIENT === 'oracledb') { + if (knex.client instanceof Client_Oracledb) { await oracleAlterCollections(knex, 'VARCHAR2(255)'); return; } diff --git a/api/src/database/migrations/20210626A-change-filesize-bigint.ts b/api/src/database/migrations/20210626A-change-filesize-bigint.ts index 53544c34c5..03b2a8b420 100644 --- a/api/src/database/migrations/20210626A-change-filesize-bigint.ts +++ b/api/src/database/migrations/20210626A-change-filesize-bigint.ts @@ -1,12 +1,22 @@ import { Knex } from 'knex'; +// @ts-ignore +import Client_Oracledb from 'knex/lib/dialects/oracledb'; export async function up(knex: Knex): Promise { + if (knex.client instanceof Client_Oracledb) { + return; + } + await knex.schema.alterTable('directus_files', (table) => { table.bigInteger('filesize').nullable().defaultTo(null).alter(); }); } export async function down(knex: Knex): Promise { + if (knex.client instanceof Client_Oracledb) { + return; + } + await knex.schema.alterTable('directus_files', (table) => { table.integer('filesize').nullable().defaultTo(null).alter(); });