import db from "../src/sql"; const run_migration = db.transaction(() => { // SQL 1: remove duplicates by uid db.run(`DELETE FROM events WHERE rowid NOT IN ( SELECT MIN(rowid) FROM events GROUP BY uid );`); // SQL 2: create new table with unique key db.run(`CREATE TABLE events_new ( "event_uid" INTEGER PRIMARY KEY, "uid" TEXT NOT NULL UNIQUE, "title" TEXT NOT NULL, "date_at" DATETIME NOT NULL, "time_start" TEXT NOT NULL, "time_end" TEXT NOT NULL, "posted_by" TEXT NOT NULL, "location" TEXT NOT NULL, "event_type" TEXT NOT NULL, "link" TEXT NOT NULL, "description" TEXT NOT NULL, "timezone" TEXT NOT NULL, "notification" TEXT NOT NULL, "deleteDate" INTEGER NULL );`); // SQL 3: Log the transaction db.run(`INSERT INTO events_new (event_uid, uid, title, date_at, time_start, time_end, posted_by, location, event_type, link, description, timezone, notification, deleteDate) SELECT event_uid, uid, title, date_at, time_start, time_end, posted_by, location, event_type, link, description, timezone, notification, deleteDate FROM events; `); db.run(`DROP TABLE events; ALTER TABLE events_new RENAME TO events;`); }); // Run the transaction run_migration();