refactor(arch): split database.js into migrations + connection module (#57)

- database.js: 292→42 lines (connection + async helpers only)
- 001_initial_schema.js: 7 CREATE TABLE statements in transaction
- 002_add_columns.js: 5 ALTER TABLE checks with checkColumnExists
- 003_add_indexes.js: 6 CREATE INDEX statements
- runner.js: versioned migration runner with _meta table
- index.js: calls runMigrations() + cleanUpInvalidForeignKeys()
- ALLOWED_TABLES whitelist preserved in runner.js
- Schema version tracked in _meta table for idempotent runs
This commit is contained in:
NW
2026-06-17 22:28:11 +01:00
parent 2e8b6b5659
commit 4b8144ac40
6 changed files with 206 additions and 262 deletions

View File

@@ -1,6 +1,10 @@
import { runMigrations, cleanUpInvalidForeignKeys } from './migrations/runner.js';
import adminUserHandler from './handlers/adminHandlers/adminUserHandler.js';
import ErrorHandler from './utils/errorHandler.js';
import bot from "./context/bot.js";
await runMigrations();
await cleanUpInvalidForeignKeys();
import userHandler from "./handlers/userHandlers/userHandler.js";
import userPurchaseHandler from "./handlers/userHandlers/userPurchaseHandler.js";
import userLocationHandler from "./handlers/userHandlers/userLocationHandler.js";