import { execSync } from "child_process"; import os from "os"; export default function exportMariadbDatabase({ dbFullName, targetFilePath, mariadbHost, mariadbPass, mariadbUser, }) { const mysqlDumpPath = os.platform().match(/win/i) ? "'" + "C:\\Program Files\\MySQL\\MySQL Server 8.0\\bin\\mysqldump.exe" + "'" : "mysqldump"; const finalMariadbUser = mariadbUser || process.env.DSQL_DB_USERNAME; const finalMariadbHost = mariadbHost || process.env.DSQL_DB_HOST; const finalMariadbPass = mariadbPass || process.env.DSQL_DB_PASSWORD; const cmd = `${mysqlDumpPath} -u ${finalMariadbUser} -h ${finalMariadbHost} -p"${finalMariadbPass}" ${dbFullName} > ${targetFilePath}`; let execSyncOptions = { encoding: "utf-8", }; const dumpDb = execSync(cmd, execSyncOptions); return dumpDb; }