remove all drops from sql files, add triggers and functions for updated_at, added files and folder tables, update some types

This commit is contained in:
creations 2025-03-06 13:57:43 -05:00
parent 6fdc82dd49
commit 94ba46cc2d
Signed by: creations
GPG key ID: 8F553AA4320FC711
11 changed files with 295 additions and 101 deletions

View file

@ -13,12 +13,26 @@ async function initializeDatabase(): Promise<void> {
const sqlDir: string = resolve("config", "sql");
const files: string[] = await readdir(sqlDir);
const reservation: ReservedSQL = await sql.reserve();
for (const file of files) {
if (file.endsWith(".ts")) {
const { createTable } = await import(resolve(sqlDir, file));
const modules: Module[] = await Promise.all(
files
.filter((file: string): boolean => file.endsWith(".ts"))
.map(async (file: string): Promise<Module> => {
const module: Module["module"] = await import(
resolve(sqlDir, file)
);
return { file, module };
}),
);
await createTable(reservation);
modules.sort(
(a: Module, b: Module): number =>
(a.module.order ?? 0) - (b.module.order ?? 0),
);
const reservation: ReservedSQL = await sql.reserve();
for (const { module } of modules) {
if (module.createTable) {
await module.createTable(reservation);
}
}

View file