driver plugins supports more drivers. Added derived drivers for MariaDB, CockroachDB, Amazon Redshift

This commit is contained in:
Jan Prochazka
2021-05-15 08:49:58 +02:00
parent f9545eaf7f
commit c5605d63ca
17 changed files with 62 additions and 31 deletions

View File

@@ -1,6 +1,6 @@
const _ = require('lodash');
const stream = require('stream');
const driverBase = require('../frontend/driver');
const driverBases = require('../frontend/drivers');
const Analyser = require('./Analyser');
const mysql2 = require('mysql2');
const { createBulkInsertStreamBase, makeUniqueColumnNames } = require('dbgate-tools');
@@ -90,7 +90,7 @@ async function runStreamItem(connection, sql, options) {
}
/** @type {import('dbgate-types').EngineDriver} */
const driver = {
const drivers = driverBases.map(driverBase => ({
...driverBase,
analyserClass: Analyser,
@@ -184,6 +184,6 @@ const driver = {
// @ts-ignore
return createBulkInsertStreamBase(this, stream, pool, name, options);
},
};
}));
module.exports = driver;
module.exports = drivers;

View File

@@ -1,6 +1,6 @@
const driver = require('./driver');
const drivers = require('./drivers');
module.exports = {
packageName: 'dbgate-plugin-mysql',
driver,
drivers,
};

View File

@@ -15,13 +15,23 @@ const dialect = {
};
/** @type {import('dbgate-types').EngineDriver} */
const driver = {
const mysqlDriver = {
...driverBase,
dumperClass: Dumper,
dialect,
engine: 'mysql@dbgate-plugin-mysql',
title: 'MySQL / MariaDB',
title: 'MySQL',
defaultPort: 3306,
};
module.exports = driver;
/** @type {import('dbgate-types').EngineDriver} */
const mariaDriver = {
...driverBase,
dumperClass: Dumper,
dialect,
engine: 'mariadb@dbgate-plugin-mysql',
title: 'MariaDB',
defaultPort: 3306,
};
module.exports = [mysqlDriver, mariaDriver];

View File

@@ -1,6 +1,6 @@
import driver from './driver';
import drivers from './drivers';
export default {
packageName: 'dbgate-plugin-mysql',
driver,
drivers,
};