diff --git a/integration-tests/__tests__/db-import-export.spec.js b/integration-tests/__tests__/db-import-export.spec.js index fe5de8309..636c1440b 100644 --- a/integration-tests/__tests__/db-import-export.spec.js +++ b/integration-tests/__tests__/db-import-export.spec.js @@ -5,7 +5,7 @@ const tableWriter = require('dbgate-api/src/shell/tableWriter'); const tableReader = require('dbgate-api/src/shell/tableReader'); const copyStream = require('dbgate-api/src/shell/copyStream'); const importDatabase = require('dbgate-api/src/shell/importDatabase'); -const fakeObjectReader = require('dbgate-api/src/shell/fakeObjectReader'); +const importDbFromFolder = require('dbgate-api/src/shell/importDbFromFolder'); const { runQueryOnDriver, runCommandOnDriver } = require('dbgate-tools'); function createImportStream() { @@ -181,4 +181,18 @@ describe('DB Import/export', () => { expect(result).toEqual(data); }) ); + + test.each(engines.map(engine => [engine.label, engine]))( + 'Import guitar shop - schema + data - %s', + testWrapper(async (conn, driver, engine) => { + await importDbFromFolder({ + systemConnection: conn, + driver, + folder: path.join(__dirname, '../../e2e-tests/data/my-guitar-shop'), + }); + + const res1 = await runQueryOnDriver(conn, driver, dmp => dmp.put(`select count(*) as ~cnt from ~categories`)); + expect(res1.rows[0].cnt.toString()).toEqual('4'); + }) + ); }); diff --git a/packages/api/src/shell/importDbFromFolder.js b/packages/api/src/shell/importDbFromFolder.js index 8eec0d174..e19303dbb 100644 --- a/packages/api/src/shell/importDbFromFolder.js +++ b/packages/api/src/shell/importDbFromFolder.js @@ -57,7 +57,7 @@ async function importDbFromFolder({ connection, systemConnection, driver, folder if (await fs.exists(fileName)) { const src = await jsonLinesReader({ fileName }); const dst = await tableWriter({ - connection, + systemConnection: dbhan, pureName: table.pureName, }); await copyStream(src, dst);