Updates
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
import varDatabaseDbHandler from "../utils/varDatabaseDbHandler";
|
||||
import { DSQL_DatabaseSchemaType, PostInsertReturn } from "../../types";
|
||||
import { DSQL_DatabaseSchemaType } from "../../types";
|
||||
import { DSQL_DATASQUIREL_USER_DATABASES } from "../../types/dsql";
|
||||
import numberfy from "../../utils/numberfy";
|
||||
import addDbEntry from "../../functions/backend/db/addDbEntry";
|
||||
import updateDbEntry from "../../functions/backend/db/updateDbEntry";
|
||||
import dbHandler from "../../functions/backend/dbHandler";
|
||||
|
||||
type Param = {
|
||||
userId?: number | string | null;
|
||||
@@ -35,10 +35,10 @@ export default async function checkDbRecordCreateDbSchema({
|
||||
} = dbSchema;
|
||||
|
||||
let recordedDbEntryArray = userId
|
||||
? await varDatabaseDbHandler({
|
||||
queryString: `SELECT * FROM datasquirel.user_databases WHERE db_full_name = ?`,
|
||||
queryValuesArray: [dbFullName || "NULL"],
|
||||
})
|
||||
? ((await dbHandler({
|
||||
query: `SELECT * FROM datasquirel.user_databases WHERE db_full_name = ?`,
|
||||
values: [dbFullName || "NULL"],
|
||||
})) as any[] | null)
|
||||
: undefined;
|
||||
|
||||
let recordedDbEntry: DSQL_DATASQUIREL_USER_DATABASES | undefined =
|
||||
@@ -65,10 +65,10 @@ export default async function checkDbRecordCreateDbSchema({
|
||||
});
|
||||
|
||||
if (newDbEntry.payload?.insertId) {
|
||||
recordedDbEntryArray = await varDatabaseDbHandler({
|
||||
queryString: `SELECT * FROM datasquirel.user_databases WHERE db_full_name = ?`,
|
||||
queryValuesArray: [dbFullName || "NULL"],
|
||||
});
|
||||
recordedDbEntryArray = (await dbHandler({
|
||||
query: `SELECT * FROM datasquirel.user_databases WHERE db_full_name = ?`,
|
||||
values: [dbFullName || "NULL"],
|
||||
})) as any[] | null;
|
||||
recordedDbEntry = recordedDbEntryArray?.[0];
|
||||
}
|
||||
} else if (recordedDbEntry?.id) {
|
||||
@@ -82,11 +82,8 @@ export default async function checkDbRecordCreateDbSchema({
|
||||
}
|
||||
|
||||
return recordedDbEntry;
|
||||
} catch (error) {
|
||||
global.ERROR_CALLBACK?.(
|
||||
`Error Checking DB Record on Creating Schema`,
|
||||
error as Error
|
||||
);
|
||||
} catch (error: any) {
|
||||
console.log("Error =\u003e", error.message);
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import varDatabaseDbHandler from "../utils/varDatabaseDbHandler";
|
||||
import {
|
||||
DSQL_DatabaseSchemaType,
|
||||
DSQL_TableSchemaType,
|
||||
@@ -12,6 +11,7 @@ import {
|
||||
import sqlGenerator from "../../functions/dsql/sql/sql-generator";
|
||||
import numberfy from "../../utils/numberfy";
|
||||
import addDbEntry from "../../functions/backend/db/addDbEntry";
|
||||
import dbHandler from "../../functions/backend/dbHandler";
|
||||
|
||||
type Param = {
|
||||
userId?: number | string | null;
|
||||
@@ -54,10 +54,10 @@ export default async function checkTableRecordCreateDbSchema({
|
||||
});
|
||||
|
||||
let recordedTableEntryArray = userId
|
||||
? await varDatabaseDbHandler({
|
||||
queryString: queryObj?.string || "",
|
||||
queryValuesArray: queryObj?.values,
|
||||
})
|
||||
? ((await dbHandler({
|
||||
query: queryObj?.string || "",
|
||||
values: queryObj?.values,
|
||||
})) as any[] | null)
|
||||
: undefined;
|
||||
|
||||
let recordedTableEntry:
|
||||
@@ -98,21 +98,18 @@ export default async function checkTableRecordCreateDbSchema({
|
||||
});
|
||||
|
||||
if (newTableRecordEntry.payload?.insertId) {
|
||||
recordedTableEntryArray = await varDatabaseDbHandler({
|
||||
queryString: queryObj?.string || "",
|
||||
queryValuesArray: queryObj?.values,
|
||||
});
|
||||
recordedTableEntryArray = (await dbHandler({
|
||||
query: queryObj?.string || "",
|
||||
values: queryObj?.values,
|
||||
})) as any[] | null;
|
||||
|
||||
recordedTableEntry = recordedTableEntryArray?.[0];
|
||||
}
|
||||
}
|
||||
|
||||
return recordedTableEntry;
|
||||
} catch (error) {
|
||||
global.ERROR_CALLBACK?.(
|
||||
`Error Checking Table Record on Creating Schema`,
|
||||
error as Error
|
||||
);
|
||||
} catch (error: any) {
|
||||
console.log("Error =\u003e", error.message);
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import varDatabaseDbHandler from "../utils/varDatabaseDbHandler";
|
||||
import {
|
||||
DSQL_IndexSchemaType,
|
||||
DSQL_MYSQL_SHOW_INDEXES_Type,
|
||||
} from "../../types";
|
||||
import grabDSQLSchemaIndexComment from "../utils/grab-dsql-schema-index-comment";
|
||||
import dbHandler from "../../functions/backend/dbHandler";
|
||||
|
||||
type Param = {
|
||||
tableName: string;
|
||||
@@ -22,10 +22,9 @@ export default async function handleIndexescreateDbFromSchema({
|
||||
tableName,
|
||||
indexes,
|
||||
}: Param) {
|
||||
const allExistingIndexes: DSQL_MYSQL_SHOW_INDEXES_Type[] =
|
||||
await varDatabaseDbHandler({
|
||||
queryString: `SHOW INDEXES FROM \`${dbFullName}\`.\`${tableName}\``,
|
||||
});
|
||||
const allExistingIndexes = (await dbHandler({
|
||||
query: `SHOW INDEXES FROM \`${dbFullName}\`.\`${tableName}\``,
|
||||
})) as DSQL_MYSQL_SHOW_INDEXES_Type[];
|
||||
|
||||
for (let g = 0; g < indexes.length; g++) {
|
||||
const { indexType, indexName, indexTableFields, alias } = indexes[g];
|
||||
@@ -56,12 +55,11 @@ export default async function handleIndexescreateDbFromSchema({
|
||||
","
|
||||
)}) COMMENT '${grabDSQLSchemaIndexComment()} ${indexName}'`;
|
||||
|
||||
const addIndex = await varDatabaseDbHandler({ queryString });
|
||||
const addIndex = await dbHandler({ query: queryString });
|
||||
}
|
||||
}
|
||||
|
||||
const allExistingIndexesAfterUpdate: DSQL_MYSQL_SHOW_INDEXES_Type[] =
|
||||
await varDatabaseDbHandler({
|
||||
queryString: `SHOW INDEXES FROM \`${dbFullName}\`.\`${tableName}\``,
|
||||
});
|
||||
const allExistingIndexesAfterUpdate = (await dbHandler({
|
||||
query: `SHOW INDEXES FROM \`${dbFullName}\`.\`${tableName}\``,
|
||||
})) as DSQL_MYSQL_SHOW_INDEXES_Type[];
|
||||
}
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
import noDatabaseDbHandler from "../utils/noDatabaseDbHandler";
|
||||
import varDatabaseDbHandler from "../utils/varDatabaseDbHandler";
|
||||
import createTable from "../utils/createTable";
|
||||
import updateTable from "../utils/updateTable";
|
||||
import { DSQL_DatabaseSchemaType } from "../../types";
|
||||
@@ -64,19 +62,19 @@ export default async function createDbFromSchema({
|
||||
|
||||
console.log(`Handling database => ${dbFullName}`);
|
||||
|
||||
const dbCheck: any = await noDatabaseDbHandler(
|
||||
`SELECT SCHEMA_NAME AS dbFullName FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '${dbFullName}'`
|
||||
);
|
||||
const dbCheck: any = await dbHandler({
|
||||
query: `SELECT SCHEMA_NAME AS dbFullName FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '${dbFullName}'`,
|
||||
});
|
||||
|
||||
if (!dbCheck?.[0]?.dbFullName) {
|
||||
const newDatabase = await noDatabaseDbHandler(
|
||||
`CREATE DATABASE IF NOT EXISTS \`${dbFullName}\` CHARACTER SET utf8mb4 COLLATE utf8mb4_bin`
|
||||
);
|
||||
const newDatabase = await dbHandler({
|
||||
query: `CREATE DATABASE IF NOT EXISTS \`${dbFullName}\` CHARACTER SET utf8mb4 COLLATE utf8mb4_bin`,
|
||||
});
|
||||
}
|
||||
|
||||
const allTables: any = await noDatabaseDbHandler(
|
||||
`SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='${dbFullName}'`
|
||||
);
|
||||
const allTables = (await dbHandler({
|
||||
query: `SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='${dbFullName}'`,
|
||||
})) as any[] | undefined;
|
||||
|
||||
let recordedDbEntry = await checkDbRecordCreateDbSchema({
|
||||
dbSchema: database,
|
||||
@@ -84,59 +82,32 @@ export default async function createDbFromSchema({
|
||||
isMain,
|
||||
});
|
||||
|
||||
for (let tb = 0; tb < allTables.length; tb++) {
|
||||
const { TABLE_NAME } = allTables[tb];
|
||||
if (allTables?.length) {
|
||||
for (let tb = 0; tb < allTables.length; tb++) {
|
||||
const { TABLE_NAME } = allTables[tb];
|
||||
|
||||
const targetTableSchema = tables.find(
|
||||
(_table) => _table.tableName === TABLE_NAME
|
||||
);
|
||||
|
||||
/**
|
||||
* @description Check if TABLE_NAME is part of the tables contained
|
||||
* in the user schema JSON. If it's not, the table is either deleted
|
||||
* or the table name has been recently changed
|
||||
*/
|
||||
if (!targetTableSchema) {
|
||||
console.log(
|
||||
`Dropping Table ${TABLE_NAME} from ${dbFullName}`
|
||||
const targetTableSchema = tables.find(
|
||||
(_table) => _table.tableName === TABLE_NAME
|
||||
);
|
||||
await varDatabaseDbHandler({
|
||||
queryString: `DROP TABLE \`${dbFullName}\`.\`${TABLE_NAME}\``,
|
||||
});
|
||||
|
||||
const deleteTableEntry = await dbHandler({
|
||||
query: `DELETE FROM datasquirel.user_database_tables WHERE user_id = ? AND db_slug = ? AND table_slug = ?`,
|
||||
values: [userId, dbSlug, TABLE_NAME],
|
||||
});
|
||||
/**
|
||||
* @description Check if TABLE_NAME is part of the tables contained
|
||||
* in the user schema JSON. If it's not, the table is either deleted
|
||||
* or the table name has been recently changed
|
||||
*/
|
||||
if (!targetTableSchema) {
|
||||
console.log(
|
||||
`Dropping Table ${TABLE_NAME} from ${dbFullName}`
|
||||
);
|
||||
await dbHandler({
|
||||
query: `DROP TABLE \`${dbFullName}\`.\`${TABLE_NAME}\``,
|
||||
});
|
||||
|
||||
// const oldTable = tables.find(
|
||||
// (_table) =>
|
||||
// _table.tableNameOld &&
|
||||
// _table.tableNameOld === TABLE_NAME
|
||||
// );
|
||||
|
||||
// /**
|
||||
// * @description Check if this table has been recently renamed. Rename
|
||||
// * table id true. Drop table if false
|
||||
// */
|
||||
// if (oldTable) {
|
||||
// console.log("Renaming Table");
|
||||
// await varDatabaseDbHandler({
|
||||
// queryString: `RENAME TABLE \`${dbFullName}\`.\`${oldTable.tableNameOld}\` TO \`${oldTable.tableName}\``,
|
||||
// });
|
||||
// } else {
|
||||
// console.log(
|
||||
// `Dropping Table ${TABLE_NAME} from ${dbFullName}`
|
||||
// );
|
||||
// await varDatabaseDbHandler({
|
||||
// queryString: `DROP TABLE \`${dbFullName}\`.\`${TABLE_NAME}\``,
|
||||
// });
|
||||
|
||||
// const deleteTableEntry = await dbHandler({
|
||||
// query: `DELETE FROM datasquirel.user_database_tables WHERE user_id = ? AND db_slug = ? AND table_slug = ?`,
|
||||
// values: [userId, dbSlug, TABLE_NAME],
|
||||
// });
|
||||
// }
|
||||
const deleteTableEntry = await dbHandler({
|
||||
query: `DELETE FROM datasquirel.user_database_tables WHERE user_id = ? AND db_slug = ? AND table_slug = ?`,
|
||||
values: [userId, dbSlug, TABLE_NAME],
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -156,8 +127,8 @@ export default async function createDbFromSchema({
|
||||
* @description Check if table exists
|
||||
* @type {any}
|
||||
*/
|
||||
const tableCheck: any = await varDatabaseDbHandler({
|
||||
queryString: `
|
||||
const tableCheck: any = await dbHandler({
|
||||
query: `
|
||||
SELECT EXISTS (
|
||||
SELECT
|
||||
TABLE_NAME
|
||||
@@ -167,7 +138,7 @@ export default async function createDbFromSchema({
|
||||
TABLE_SCHEMA = ? AND
|
||||
TABLE_NAME = ?
|
||||
) AS tableExists`,
|
||||
queryValuesArray: [dbFullName, table.tableName],
|
||||
values: [dbFullName, table.tableName],
|
||||
});
|
||||
|
||||
if (tableCheck && tableCheck[0]?.tableExists > 0) {
|
||||
|
||||
Reference in New Issue
Block a user