datasquirel/package-shared/utils/mariadb-local-query.ts
Benjamin Toby 382da38bb0 Updates
2025-07-09 20:42:01 +01:00

27 lines
906 B
TypeScript

import grabDockerStackServicesNames from "./backend/names/grab-docker-stack-services-names";
import execute from "./execute";
import normalizeText from "./normalize-text";
export default function mariaDBlocalQuery(query: string | string[]) {
const { dbServiceName, maxScaleServiceName } =
grabDockerStackServicesNames();
const MARIADB_CMD_PREFIX = `docker exec ${dbServiceName} mariadb -u root -p"${process.env.DSQL_MARIADB_ROOT_PASSWORD}"`;
function grabMariadbDockerCmd(cmd: string) {
return `${MARIADB_CMD_PREFIX} -e "${removeQueryDoubleQuotes(
normalizeText(cmd)
)}"`;
}
const finalQuery = Array.isArray(query)
? query.map((qry) => grabMariadbDockerCmd(qry))
: grabMariadbDockerCmd(query);
return execute(finalQuery);
}
export function removeQueryDoubleQuotes(query: string) {
return query.replace(/\"/gm, '\\"');
}