Carpool / server /migrate_poolhost.js
Shivam
Initial commit
d381a4c
Raw History Blame Contribute Delete
1.46 kB
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('./database.sqlite');
db.serialize(() => {
db.run("PRAGMA foreign_keys=off;");
db.run("BEGIN TRANSACTION;");
db.run(`CREATE TABLE users_new (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT NOT NULL,
emp_id TEXT,
gender TEXT,
password TEXT,
role TEXT NOT NULL CHECK(role IN ('Pool Host', 'Passenger', 'Admin')),
has_vehicle_pass BOOLEAN DEFAULT 0,
vehicle_no TEXT,
vehicle_make TEXT,
vehicle_model TEXT,
vehicle_capacity TEXT,
status TEXT DEFAULT 'Active',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
UNIQUE(email, role)
)`);
db.run(`INSERT INTO users_new (id, name, email, emp_id, gender, password, role, has_vehicle_pass, vehicle_no, vehicle_make, vehicle_model, vehicle_capacity, status, created_at)
SELECT id, name, email, emp_id, gender, password,
CASE WHEN role = 'Pool Host' THEN 'Pool Host' ELSE role END AS role,
has_vehicle_pass, vehicle_no, vehicle_make, vehicle_model, vehicle_capacity, status, created_at
FROM users`);
db.run("DROP TABLE users");
db.run("ALTER TABLE users_new RENAME TO users");
db.run("COMMIT;");
db.run("PRAGMA foreign_keys=on;", (err) => {
if (err) console.error("Migration error:", err);
else console.log("Migration complete: Pool Host renamed to Pool Host!");
});
});