Refactor code structure for improved readability and maintainability

This commit is contained in:
2026-02-01 03:46:29 +00:00
parent 2473f3f708
commit 4292c62ad1
8 changed files with 150 additions and 87 deletions

View File

@@ -19,6 +19,13 @@ async function createUsersTable() {
}
}
async function ensureColumn(table, column, definition) {
const [columns] = await db.query(`SHOW COLUMNS FROM ${table} LIKE ?`, [column]);
if (columns.length === 0) {
await db.query(`ALTER TABLE ${table} ADD COLUMN ${definition}`);
}
}
async function createLicensesTable() {
await db.query(`
CREATE TABLE IF NOT EXISTS licenses (
@@ -33,11 +40,18 @@ async function createLicensesTable() {
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
last_version_check_at DATETIME NULL,
last_used_version VARCHAR(64) NULL,
primary_hostname VARCHAR(255) NULL,
primary_hostname_normalized VARCHAR(255) NULL,
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
`);
await ensureColumn(
"licenses",
"last_used_version",
"last_used_version VARCHAR(64) NULL AFTER last_version_check_at"
);
}
async function createLicenseHostnamesTable() {