datasquirel/package-shared/utils/mariadb-local-query.ts
Benjamin Toby c37d105dee Updates
2025-07-09 20:30:45 +01:00

27 lines
948 B
TypeScript

import grabDockerStackServicesNames from "@/package-shared/utils/backend/names/grab-docker-stack-services-names";
import normalizeText from "@/package-shared/utils/normalize-text";
import execute from "./execute";
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, '\\"');
}