disable col stats in test mode (mysql 5.7) or non-ubuntu 20
This commit is contained in:
+2
-2
@@ -146,9 +146,9 @@ async function exportToFile(file) {
|
||||
|
||||
// latest mysqldump enables column stats by default which is not present in MySQL 5.7 server
|
||||
// this option must not be set in production cloudrons which still use the old mysqldump
|
||||
const disableColStats = (constants.TEST && require('fs').readFileSync('/etc/lsb-release', 'utf-8').includes('20.04')) ? '--column-statistics=0' : '';
|
||||
const colStats = (!constants.TEST && require('fs').readFileSync('/etc/lsb-release', 'utf-8').includes('20.04')) ? '--column-statistics=0' : '';
|
||||
|
||||
const cmd = `/usr/bin/mysqldump -h "${gDatabase.hostname}" -u root -p${gDatabase.password} ${disableColStats} --single-transaction --routines --triggers ${gDatabase.name} > "${file}"`;
|
||||
const cmd = `/usr/bin/mysqldump -h "${gDatabase.hostname}" -u root -p${gDatabase.password} ${colStats} --single-transaction --routines --triggers ${gDatabase.name} > "${file}"`;
|
||||
|
||||
const [error] = await safe(shell.promises.exec('exportToFile', cmd));
|
||||
if (error) throw new BoxError(BoxError.DATABASE_ERROR, error);
|
||||
|
||||
@@ -36,16 +36,10 @@ describe('database', function () {
|
||||
});
|
||||
|
||||
it('can export to file', async function () {
|
||||
// arch only has maria db which lacks some mysqldump options we need, this is only here to allow running the tests :-/
|
||||
if (!fs.readFileSync('/etc/lsb-release', 'utf8').includes('Ubuntu')) return;
|
||||
|
||||
await database.exportToFile('/tmp/box.mysqldump');
|
||||
});
|
||||
|
||||
it('can import from file', async function () {
|
||||
// arch only has maria db which lacks some mysqldump options we need, this is only here to allow running the tests :-/
|
||||
if (!fs.readFileSync('/etc/lsb-release', 'utf8').includes('Ubuntu')) return;
|
||||
|
||||
await database.importFromFile('/tmp/box.mysqldump');
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user