Update db.js

This commit is contained in:
2025-12-11 00:13:59 +01:00
committed by GitHub
parent 899aaa90d1
commit c615fac718

View File

@@ -202,6 +202,7 @@ const initDb = async () => {
CREATE TABLE IF NOT EXISTS payments ( CREATE TABLE IF NOT EXISTS payments (
id VARCHAR(36) PRIMARY KEY, id VARCHAR(36) PRIMARY KEY,
family_id VARCHAR(36) NOT NULL, family_id VARCHAR(36) NOT NULL,
extraordinary_expense_id VARCHAR(36) NULL,
amount DECIMAL(10, 2) NOT NULL, amount DECIMAL(10, 2) NOT NULL,
date_paid ${TIMESTAMP_TYPE} NOT NULL, date_paid ${TIMESTAMP_TYPE} NOT NULL,
for_month INT NOT NULL, for_month INT NOT NULL,
@@ -212,6 +213,23 @@ const initDb = async () => {
) )
`); `);
// Migration for payments: Add extraordinary_expense_id
try {
let hasExtraId = false;
if (DB_CLIENT === 'postgres') {
const [cols] = await connection.query("SELECT column_name FROM information_schema.columns WHERE table_name='payments'");
hasExtraId = cols.some(c => c.column_name === 'extraordinary_expense_id');
} else {
const [cols] = await connection.query("SHOW COLUMNS FROM payments");
hasExtraId = cols.some(c => c.Field === 'extraordinary_expense_id');
}
if (!hasExtraId) {
console.log('Migrating: Adding extraordinary_expense_id to payments...');
await connection.query("ALTER TABLE payments ADD COLUMN extraordinary_expense_id VARCHAR(36) NULL");
}
} catch(e) { console.warn("Payments migration warning:", e.message); }
// 4. Users Table // 4. Users Table
await connection.query(` await connection.query(`
CREATE TABLE IF NOT EXISTS users ( CREATE TABLE IF NOT EXISTS users (