test: conditional force reset for PG

Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com>
This commit is contained in:
Raju Udava
2023-10-02 23:49:33 +05:30
parent b4ab16010c
commit 93e4e8ae47

View File

@@ -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'`);