datasquirel/package-shared/shell/encodingUpdate.ts
Benjamin Toby c37d105dee Updates
2025-07-09 20:30:45 +01:00

36 lines
1.2 KiB
TypeScript

require("dotenv").config({ path: "./../.env" });
import dbHandler from "../functions/backend/dbHandler";
dbHandler({
query: `SELECT user_database_tables.*,user_databases.db_full_name FROM user_database_tables JOIN user_databases ON user_database_tables.db_id=user_databases.id`,
database: "datasquirel",
}).then(async (tables: any) => {
for (let i = 0; i < tables.length; i++) {
const table = tables[i];
const {
id,
user_id,
db_id,
db_full_name,
table_name,
table_slug,
table_description,
} = table;
const tableInfo = await dbHandler({
query: `SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='${db_full_name}' AND TABLE_NAME='${table_slug}'`,
});
const updateDbCharset = await dbHandler({
query: `ALTER DATABASE ${db_full_name} CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin;`,
});
const updateEncoding = await dbHandler({
query: `ALTER TABLE \`${db_full_name}\`.\`${table_slug}\` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin`,
});
}
process.exit();
});