oracle tests WIP

This commit is contained in:
Jan Prochazka
2024-12-10 15:35:47 +01:00
parent 6dd27eb34f
commit 00525f6b81
6 changed files with 38 additions and 11 deletions

View File

@@ -70,3 +70,9 @@ services:
# - cockroachdb
# restart: on-failure
oracle:
image: container-registry.oracle.com/database/express:21.3.0-xe
environment:
ORACLE_PWD: Pwd2020Db
ports:
- 15006:1521

View File

@@ -400,17 +400,35 @@ end;$$`,
dbSnapshotBySeconds: true,
skipChangeColumn: true,
},
{
label: 'Oracle',
connection: {
engine: 'oracle@dbgate-plugin-oracle',
password: 'Pwd2020Db',
user: 'system',
server: 'oracle',
port: 1521,
serviceName: 'xe',
},
local: {
server: 'localhost',
port: 15006,
},
skipOnCI: true,
dbSnapshotBySeconds: true,
},
];
const filterLocal = [
// filter local testing
'MySQL',
'-MySQL',
'-MariaDB',
'-PostgreSQL',
'-SQL Server',
'-SQLite',
'-CockroachDB',
'-ClickHouse',
'Oracle',
];
const enginesPostgre = engines.filter(x => x.label == 'PostgreSQL');

View File

@@ -32,12 +32,14 @@ async function connect(engine, database) {
return conn;
} else {
const conn = await driver.connect(connection);
await driver.query(conn, `CREATE DATABASE ${database}`);
const dmp = driver.createDumper();
dmp.createDatabase(database);
await driver.query(conn, dmp.s);
await driver.close(conn);
const res = await driver.connect({
...connection,
database,
database: (driver.dialect.userDatabaseNamePrefix ?? '') + database,
});
return res;
}
@@ -55,12 +57,14 @@ async function prepareConnection(engine, database) {
};
} else {
const conn = await driver.connect(connection);
await driver.query(conn, `CREATE DATABASE ${database}`);
const dmp = driver.createDumper();
dmp.createDatabase(database);
await driver.query(conn, dmp.s);
await driver.close(conn);
return {
...connection,
database,
database: (driver.dialect.userDatabaseNamePrefix ?? '') + database,
isPreparedOnly: true,
};
}