Fixing the uid Column isn't unique.
uid is required to be unique for the the Changed Events (with the new Data) to be inserted without creating new Rows.
This commit is contained in:
1
sql/events/events_create_unique_index_uid.sql
Normal file
1
sql/events/events_create_unique_index_uid.sql
Normal file
@@ -0,0 +1 @@
|
||||
CREATE UNIQUE INDEX idx_events_uid ON events(uid);
|
||||
6
sql/events/events_delete_duplicate_rows.sql
Normal file
6
sql/events/events_delete_duplicate_rows.sql
Normal file
@@ -0,0 +1,6 @@
|
||||
DELETE FROM events
|
||||
WHERE rowid NOT IN (
|
||||
SELECT MIN(rowid)
|
||||
FROM events
|
||||
GROUP BY uid
|
||||
);
|
||||
4
sql/events/events_find_duplicate_uid.sql
Normal file
4
sql/events/events_find_duplicate_uid.sql
Normal file
@@ -0,0 +1,4 @@
|
||||
SELECT uid, COUNT(*) AS count
|
||||
FROM events
|
||||
GROUP BY uid
|
||||
HAVING COUNT(*) > 1;
|
||||
29
sql/sql_migration_v0.1.3.sql
Normal file
29
sql/sql_migration_v0.1.3.sql
Normal file
@@ -0,0 +1,29 @@
|
||||
DELETE FROM events
|
||||
WHERE rowid NOT IN (
|
||||
SELECT MIN(rowid)
|
||||
FROM events
|
||||
GROUP BY uid
|
||||
);
|
||||
|
||||
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
|
||||
);
|
||||
|
||||
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;
|
||||
|
||||
DROP TABLE events;
|
||||
ALTER TABLE events_new RENAME TO events;
|
||||
Reference in New Issue
Block a user