diff --git a/src/db/mod.rs b/src/db/mod.rs index 288c7a40..ee66f4b8 100644 --- a/src/db/mod.rs +++ b/src/db/mod.rs @@ -106,6 +106,7 @@ fn upgrade(db: &Connection, mut version: u16) -> Result<(), Error> { apply_sql!(db, version, 1, "schema1.sql"); apply_sql!(db, version, 2, "schema2.sql"); apply_sql!(db, version, 3, "schema3.sql"); + apply_sql!(db, version, 4, "schema4.sql"); info!("Database is at version {}", version); Ok(()) diff --git a/src/db/schema4.sql b/src/db/schema4.sql new file mode 100644 index 00000000..1dce5020 --- /dev/null +++ b/src/db/schema4.sql @@ -0,0 +1,23 @@ + +ALTER TABLE relay ADD COLUMN last_success_at INTEGER DEFAULT NULL; + +PRAGMA foreign_keys=off; +BEGIN TRANSACTION; +ALTER TABLE event_tag RENAME TO event_tag_old; +CREATE TABLE event_tag ( + event TEXT NOT NULL, + seq INTEGER NOT NULL, + label TEXT DEFAULT NULL, + field0 TEXT DEFAULT NULL, + field1 TEXT DEFAULT NULL, + field2 TEXT DEFAULT NULL, + field3 TEXT DEFAULT NULL, + UNIQUE (event, seq), + CONSTRAINT fk_event + FOREIGN KEY (event) REFERENCES event (id) + ON DELETE CASCADE +); +INSERT INTO event_tag SELECT * FROM event_tag_old; +COMMIT; +PRAGMA foreign_keys=on; +DROP TABLE event_tag_old;