Files
kokken/scripts/db-bookings-migration.mjs

46 lines
1.2 KiB
JavaScript

import mysql from 'mysql2/promise'
import dotenv from 'dotenv'
dotenv.config()
async function run() {
const pool = mysql.createPool({
host: process.env.DB_HOST || 'localhost',
user: process.env.DB_USER || 'warme',
password: process.env.DB_PASSWORD || 'warme123',
database: process.env.DB_NAME || 'warme',
})
const conn = await pool.getConnection()
try {
await conn.query(`
CREATE TABLE IF NOT EXISTS bookings (
id VARCHAR(36) PRIMARY KEY,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
phone VARCHAR(64),
party_size INT,
booking_date DATE NOT NULL,
start_time TIME NOT NULL,
end_time TIME NOT NULL,
menu_id VARCHAR(255),
package_id VARCHAR(255),
message TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB;
`)
await conn.query('CREATE INDEX IF NOT EXISTS idx_bookings_date ON bookings (booking_date)')
console.log('Bookings table created (if not existed)')
} finally {
conn.release()
await pool.end()
}
}
run().then(() => process.exit(0)).catch(err => {
console.error(err)
process.exit(1)
})