disable col stats in test mode (mysql 5.7) or non-ubuntu 20

This commit is contained in:
Girish Ramakrishnan
2021-09-16 17:00:15 -07:00
parent 9a2ed4f2c8
commit ac59a7dcc2
2 changed files with 2 additions and 8 deletions
+2 -2
View File
@@ -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);
-6
View File
@@ -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');
});
});