diff --git a/server/db.js b/server/db.js index 74b866d..27e7fd6 100644 --- a/server/db.js +++ b/server/db.js @@ -202,6 +202,7 @@ const initDb = async () => { CREATE TABLE IF NOT EXISTS payments ( id VARCHAR(36) PRIMARY KEY, family_id VARCHAR(36) NOT NULL, + extraordinary_expense_id VARCHAR(36) NULL, amount DECIMAL(10, 2) NOT NULL, date_paid ${TIMESTAMP_TYPE} 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 await connection.query(` CREATE TABLE IF NOT EXISTS users (