From 93e4e8ae47f721870c83d10dc80f3565a101a1fd Mon Sep 17 00:00:00 2001 From: Raju Udava <86527202+dstala@users.noreply.github.com> Date: Mon, 2 Oct 2023 23:49:33 +0530 Subject: [PATCH] test: conditional force reset for PG Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> --- tests/playwright/setup/knexHelper.ts | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/tests/playwright/setup/knexHelper.ts b/tests/playwright/setup/knexHelper.ts index 8fe64fb9cd..74f88ef873 100644 --- a/tests/playwright/setup/knexHelper.ts +++ b/tests/playwright/setup/knexHelper.ts @@ -2,8 +2,12 @@ import { knex, Knex } from 'knex'; import { promises as fs } from 'fs'; import { getKnexConfig } from '../tests/utils/config'; -async function dropAndCreateDb(kn: Knex, dbName: string) { - await kn.raw(`DROP DATABASE IF EXISTS ??)`, [dbName]); +async function dropAndCreateDb(kn: Knex, dbName: string, dbType: string) { + if (dbType === 'pg') { + await kn.raw(`DROP DATABASE IF EXISTS ?? WITH (FORCE)`, [dbName]); + } else { + await kn.raw(`DROP DATABASE IF EXISTS ??`, [dbName]); + } await kn.raw(`CREATE DATABASE ??`, [dbName]); } @@ -11,7 +15,7 @@ export async function initializeSakilaPg(database: string) { { const kn = knex(getKnexConfig({ dbName: 'postgres', dbType: 'pg' })); - await dropAndCreateDb(kn, database); + await dropAndCreateDb(kn, database, 'pg'); await kn.destroy(); } @@ -44,7 +48,7 @@ export async function createTableWithDateTimeColumn(database: string, dbName: st if (database === 'pg') { { const pgknex = knex(getKnexConfig({ dbName: 'postgres', dbType: 'pg' })); - await dropAndCreateDb(pgknex, dbName); + await dropAndCreateDb(pgknex, dbName, 'pg'); await pgknex.destroy(); } @@ -73,7 +77,7 @@ export async function createTableWithDateTimeColumn(database: string, dbName: st { const mysqlknex = knex(getKnexConfig({ dbName: 'sakila', dbType: 'mysql' })); - await dropAndCreateDb(mysqlknex, dbName); + await dropAndCreateDb(mysqlknex, dbName, 'mysql'); if (setTz) { await mysqlknex.raw(`SET GLOBAL time_zone = '+08:00'`);