Update db.js
This commit is contained in:
18
server/db.js
18
server/db.js
@@ -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 (
|
||||||
|
|||||||
Reference in New Issue
Block a user