Carpool / server /migrate_users.js
Shivam
Initial commit
d381a4c
Raw History Blame Contribute Delete
1.58 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, 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");
// Now seed admin
const adminHash = '$2b$10$kzOslSASLTVaqbM0mRtbDOQQJOARQTLlwzmvtuafDMnHSawIEvugK';
db.run(`INSERT OR IGNORE INTO users (name, email, password, role, status) VALUES (?, ?, ?, ?, ?)`,
['Admin Commute Controller', 'admin@reliance.com', adminHash, 'Admin', 'Active']);
db.run("COMMIT;");
db.run("PRAGMA foreign_keys=on;", () => {
console.log("Migration complete!");
});
});