From c944f6a320704562dcb2c49502ce0d89aa8fdad3 Mon Sep 17 00:00:00 2001 From: Adam Warner Date: Sun, 29 Dec 2019 23:32:31 +0000 Subject: [PATCH 1/2] Add a new migration script to fix the previous one Signed-off-by: Adam Warner --- .../Scripts/database_migration/gravity-db.sh | 7 +++++ .../database_migration/gravity/8_to_9.sql | 26 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 advanced/Scripts/database_migration/gravity/8_to_9.sql diff --git a/advanced/Scripts/database_migration/gravity-db.sh b/advanced/Scripts/database_migration/gravity-db.sh index bc650d3f..184b3a4a 100644 --- a/advanced/Scripts/database_migration/gravity-db.sh +++ b/advanced/Scripts/database_migration/gravity-db.sh @@ -80,4 +80,11 @@ upgrade_gravityDB(){ sqlite3 "${database}" < "${scriptPath}/7_to_8.sql" version=8 fi + if [[ "$version" == "8" ]]; then + # This migration fixes some issues that were introduced + # in the previous migration script. + echo -e " ${INFO} Upgrading gravity database from version 8 to 9" + sqlite3 "${database}" < "${scriptPath}/8_to_9.sql" + version=9 + fi } diff --git a/advanced/Scripts/database_migration/gravity/8_to_9.sql b/advanced/Scripts/database_migration/gravity/8_to_9.sql new file mode 100644 index 00000000..fa5d43a6 --- /dev/null +++ b/advanced/Scripts/database_migration/gravity/8_to_9.sql @@ -0,0 +1,26 @@ +.timeout 30000 + +PRAGMA FOREIGN_KEYS=OFF; + +BEGIN TRANSACTION; + +DROP TRIGGER IF EXISTS tr_group_update; +DROP TRIGGER IF EXISTS tr_group_zero; + +PRAGMA legacy_alter_table=ON; +ALTER TABLE "group" RENAME TO "group__"; +PRAGMA legacy_alter_table=OFF; +ALTER TABLE "group__" RENAME TO "group"; + +CREATE TRIGGER tr_group_update AFTER UPDATE ON "group" + BEGIN + UPDATE "group" SET date_modified = (cast(strftime('%s', 'now') as int)) WHERE id = NEW.id; + END; + +CREATE TRIGGER tr_group_zero AFTER DELETE ON "group" + BEGIN + INSERT OR IGNORE INTO "group" (id,enabled,name) VALUES (0,1,'Unassociated'); + END; + + +COMMIT; From bb30c818abea6f38c7b637b84f65d88e0f403cde Mon Sep 17 00:00:00 2001 From: DL6ER Date: Mon, 30 Dec 2019 09:21:30 +0000 Subject: [PATCH 2/2] Update database version during migration. Signed-off-by: DL6ER --- advanced/Scripts/database_migration/gravity/8_to_9.sql | 1 + 1 file changed, 1 insertion(+) diff --git a/advanced/Scripts/database_migration/gravity/8_to_9.sql b/advanced/Scripts/database_migration/gravity/8_to_9.sql index fa5d43a6..0d873e2a 100644 --- a/advanced/Scripts/database_migration/gravity/8_to_9.sql +++ b/advanced/Scripts/database_migration/gravity/8_to_9.sql @@ -22,5 +22,6 @@ CREATE TRIGGER tr_group_zero AFTER DELETE ON "group" INSERT OR IGNORE INTO "group" (id,enabled,name) VALUES (0,1,'Unassociated'); END; +UPDATE info SET value = 9 WHERE property = 'version'; COMMIT;