mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-05-03 16:23:58 +00:00
fixed SQL export table name #277
This commit is contained in:
@@ -5,10 +5,11 @@ const { driverBase } = require('dbgate-tools');
|
|||||||
const requireEngineDriver = require('../utility/requireEngineDriver');
|
const requireEngineDriver = require('../utility/requireEngineDriver');
|
||||||
|
|
||||||
class SqlizeStream extends stream.Transform {
|
class SqlizeStream extends stream.Transform {
|
||||||
constructor({ fileName }) {
|
constructor({ fileName, dataName }) {
|
||||||
super({ objectMode: true });
|
super({ objectMode: true });
|
||||||
this.wasHeader = false;
|
this.wasHeader = false;
|
||||||
this.tableName = path.parse(fileName).name;
|
this.tableName = path.parse(fileName).name;
|
||||||
|
this.dataName = dataName;
|
||||||
this.driver = driverBase;
|
this.driver = driverBase;
|
||||||
}
|
}
|
||||||
_transform(chunk, encoding, done) {
|
_transform(chunk, encoding, done) {
|
||||||
@@ -28,7 +29,7 @@ class SqlizeStream extends stream.Transform {
|
|||||||
const dmp = this.driver.createDumper();
|
const dmp = this.driver.createDumper();
|
||||||
dmp.put(
|
dmp.put(
|
||||||
'^insert ^into %f (%,i) ^values (%,v);\n',
|
'^insert ^into %f (%,i) ^values (%,v);\n',
|
||||||
{ pureName: this.tableName },
|
{ pureName: this.dataName || this.tableName },
|
||||||
Object.keys(chunk),
|
Object.keys(chunk),
|
||||||
Object.values(chunk)
|
Object.values(chunk)
|
||||||
);
|
);
|
||||||
@@ -38,9 +39,9 @@ class SqlizeStream extends stream.Transform {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function sqlDataWriter({ fileName, driver, encoding = 'utf-8' }) {
|
async function sqlDataWriter({ fileName, dataName, driver, encoding = 'utf-8' }) {
|
||||||
console.log(`Writing file ${fileName}`);
|
console.log(`Writing file ${fileName}`);
|
||||||
const stringify = new SqlizeStream({ fileName });
|
const stringify = new SqlizeStream({ fileName, dataName });
|
||||||
const fileStream = fs.createWriteStream(fileName, encoding);
|
const fileStream = fs.createWriteStream(fileName, encoding);
|
||||||
stringify.pipe(fileStream);
|
stringify.pipe(fileStream);
|
||||||
stringify['finisher'] = fileStream;
|
stringify['finisher'] = fileStream;
|
||||||
|
|||||||
@@ -48,10 +48,11 @@ const jsonQuickExport = {
|
|||||||
const sqlQuickExport = {
|
const sqlQuickExport = {
|
||||||
label: 'SQL',
|
label: 'SQL',
|
||||||
extension: 'sql',
|
extension: 'sql',
|
||||||
createWriter: fileName => ({
|
createWriter: (fileName, dataName) => ({
|
||||||
functionName: 'sqlDataWriter',
|
functionName: 'sqlDataWriter',
|
||||||
props: {
|
props: {
|
||||||
fileName,
|
fileName,
|
||||||
|
dataName,
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user