42 lines
1.1 KiB
JavaScript
42 lines
1.1 KiB
JavaScript
const { Pool } = require('pg');
|
|
require('dotenv').config();
|
|
|
|
const pool = new Pool({
|
|
user: process.env.DB_USER,
|
|
host: process.env.DB_HOST,
|
|
database: process.env.DB_NAME,
|
|
password: process.env.DB_PASSWORD,
|
|
port: process.env.DB_PORT,
|
|
});
|
|
|
|
const sql = `
|
|
-- Orders Table
|
|
CREATE TABLE IF NOT EXISTS orders (
|
|
id SERIAL PRIMARY KEY,
|
|
customer_email TEXT NOT NULL,
|
|
customer_name TEXT NOT NULL,
|
|
shipping_address JSONB NOT NULL,
|
|
items JSONB NOT NULL,
|
|
total_amount DECIMAL(10, 2) NOT NULL,
|
|
payment_status TEXT DEFAULT 'pending',
|
|
shipping_status TEXT DEFAULT 'pending',
|
|
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
`;
|
|
|
|
async function migrate() {
|
|
try {
|
|
console.log('Starting migration...');
|
|
const client = await pool.connect();
|
|
await client.query(sql);
|
|
console.log('Migration successful: Orders table created or already exists.');
|
|
client.release();
|
|
} catch (err) {
|
|
console.error('Migration failed:', err);
|
|
} finally {
|
|
await pool.end();
|
|
}
|
|
}
|
|
|
|
migrate();
|