diff options
author | Stefan Niedermann <info@niedermann.it> | 2021-04-13 13:04:35 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2021-04-13 13:05:06 +0300 |
commit | 584994ce1adae028b93076deef4e0d9224eaff36 (patch) | |
tree | efc32ada1ceff5f40e46e4f738ce2ca3eb3843a5 /app/src | |
parent | 048fea1232baa460f90a14d4438fb05a56f7a1cb (diff) |
execute migration steps explicitly for syntax highlighting and validation support
Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app/src')
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/migration/Migration_30_31.java | 238 |
1 files changed, 116 insertions, 122 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/migration/Migration_30_31.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/migration/Migration_30_31.java index 915bea9ea..99d6d169d 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/migration/Migration_30_31.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/migration/Migration_30_31.java @@ -9,133 +9,127 @@ import androidx.sqlite.db.SupportSQLiteDatabase; */ public class Migration_30_31 extends Migration { - private static final String[] SQLs = new String[]{ - "CREATE TABLE `AccessControl_tmp` (`localId` INTEGER PRIMARY KEY AUTOINCREMENT, `accountId` INTEGER NOT NULL, `id` INTEGER, `status` INTEGER NOT NULL, `lastModified` INTEGER, `lastModifiedLocal` INTEGER, `etag` TEXT, `type` INTEGER, `boardId` INTEGER, `owner` INTEGER NOT NULL, `permissionEdit` INTEGER NOT NULL, `permissionShare` INTEGER NOT NULL, `permissionManage` INTEGER NOT NULL, `userId` INTEGER, FOREIGN KEY(`boardId`) REFERENCES `Board`(`localId`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`accountId`) REFERENCES `Account`(`id`) ON DELETE CASCADE )", - "DELETE FROM `AccessControl` where accountId not in (select id from `Account`)", - "INSERT INTO `AccessControl_tmp` select * from `AccessControl`", - "DROP TABLE `AccessControl`", - "ALTER TABLE `AccessControl_tmp` RENAME TO `AccessControl`", - "CREATE INDEX `acl_accId` ON `AccessControl` (`accountId`)", - "CREATE INDEX `index_AccessControl_boardId` ON `AccessControl` (`boardId`)", - "CREATE INDEX `index_AccessControl_accountId` ON `AccessControl` (`accountId`)", - "CREATE INDEX `index_AccessControl_id` ON `AccessControl` (`id`)", - "CREATE INDEX `index_AccessControl_lastModifiedLocal` ON `AccessControl` (`lastModifiedLocal`)", - "CREATE UNIQUE INDEX `index_AccessControl_accountId_id` ON `AccessControl` (`accountId`, `id`)", - "CREATE TABLE `Activity_tmp` (`localId` INTEGER PRIMARY KEY AUTOINCREMENT, `accountId` INTEGER NOT NULL, `id` INTEGER, `status` INTEGER NOT NULL, `lastModified` INTEGER, `lastModifiedLocal` INTEGER, `etag` TEXT, `cardId` INTEGER NOT NULL, `subject` TEXT, `type` INTEGER NOT NULL, FOREIGN KEY(`cardId`) REFERENCES `Card`(`localId`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`accountId`) REFERENCES `Account`(`id`) ON DELETE CASCADE )", - "DELETE FROM `Activity` where accountId not in (select id from `Account`)", - "INSERT INTO `Activity_tmp` select * from `Activity`", - "DROP TABLE `Activity`", - "ALTER TABLE `Activity_tmp` RENAME TO `Activity`", - "CREATE INDEX `activity_accID` ON `Activity` (`accountId`)", - "CREATE INDEX `activity_cardID` ON `Activity` (`cardId`)", - "CREATE INDEX `index_Activity_accountId` ON `Activity` (`accountId`)", - "CREATE INDEX `index_Activity_id` ON `Activity` (`id`)", - "CREATE INDEX `index_Activity_lastModifiedLocal` ON `Activity` (`lastModifiedLocal`)", - "CREATE UNIQUE INDEX `index_Activity_accountId_id` ON `Activity` (`accountId`, `id`)", - "CREATE TABLE `Attachment_tmp` (`localId` INTEGER PRIMARY KEY AUTOINCREMENT, `accountId` INTEGER NOT NULL, `id` INTEGER, `status` INTEGER NOT NULL, `lastModified` INTEGER, `lastModifiedLocal` INTEGER, `etag` TEXT, `cardId` INTEGER NOT NULL, `type` TEXT, `data` TEXT, `createdAt` INTEGER, `createdBy` TEXT, `deletedAt` INTEGER, `filesize` INTEGER NOT NULL, `mimetype` TEXT, `dirname` TEXT, `basename` TEXT, `extension` TEXT, `filename` TEXT, `localPath` TEXT, `fileId` INTEGER, FOREIGN KEY(`cardId`) REFERENCES `Card`(`localId`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`accountId`) REFERENCES `Account`(`id`) ON DELETE CASCADE )", - "DELETE FROM `Attachment` where accountId not in (select id from `Account`)", - "INSERT INTO `Attachment_tmp` select * from `Attachment`", - "DROP TABLE `Attachment`", - "ALTER TABLE `Attachment_tmp` RENAME TO `Attachment`", - "CREATE INDEX `index_Attachment_cardId` ON `Attachment` (`cardId`)", - "CREATE INDEX `index_Attachment_accountId` ON `Attachment` (`accountId`)", - "CREATE INDEX `index_Attachment_id` ON `Attachment` (`id`)", - "CREATE INDEX `index_Attachment_lastModifiedLocal` ON `Attachment` (`lastModifiedLocal`)", - "CREATE UNIQUE INDEX `index_Attachment_accountId_id` ON `Attachment` (`accountId`, `id`)", - "CREATE TABLE `Board_tmp` (`localId` INTEGER PRIMARY KEY AUTOINCREMENT, `accountId` INTEGER NOT NULL, `id` INTEGER, `status` INTEGER NOT NULL, `lastModified` INTEGER, `lastModifiedLocal` INTEGER, `etag` TEXT, `title` TEXT, `ownerId` INTEGER NOT NULL, `color` INTEGER, `archived` INTEGER NOT NULL, `shared` INTEGER NOT NULL, `deletedAt` INTEGER, `permissionRead` INTEGER NOT NULL, `permissionEdit` INTEGER NOT NULL, `permissionManage` INTEGER NOT NULL, `permissionShare` INTEGER NOT NULL, FOREIGN KEY(`ownerId`) REFERENCES `User`(`localId`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`accountId`) REFERENCES `Account`(`id`) ON DELETE CASCADE )", - "DELETE FROM `Board` where accountId not in (select id from `Account`)", - "INSERT INTO `Board_tmp` select * from `Board`", - "DROP TABLE `Board`", - "ALTER TABLE `Board_tmp` RENAME TO `Board`", - "CREATE INDEX `index_Board_ownerId` ON `Board` (`ownerId`)", - "CREATE INDEX `index_Board_accountId` ON `Board` (`accountId`)", - "CREATE INDEX `index_Board_id` ON `Board` (`id`)", - "CREATE INDEX `index_Board_lastModifiedLocal` ON `Board` (`lastModifiedLocal`)", - "CREATE UNIQUE INDEX `index_Board_accountId_id` ON `Board` (`accountId`, `id`)", - "CREATE TABLE `Card_tmp` (`localId` INTEGER PRIMARY KEY AUTOINCREMENT, `accountId` INTEGER NOT NULL, `id` INTEGER, `status` INTEGER NOT NULL, `lastModified` INTEGER, `lastModifiedLocal` INTEGER, `etag` TEXT, `title` TEXT, `description` TEXT, `stackId` INTEGER NOT NULL, `type` TEXT, `createdAt` INTEGER, `deletedAt` INTEGER, `attachmentCount` INTEGER NOT NULL, `userId` INTEGER, `order` INTEGER NOT NULL, `archived` INTEGER NOT NULL, `dueDate` INTEGER, `notified` INTEGER NOT NULL, `overdue` INTEGER NOT NULL, `commentsUnread` INTEGER NOT NULL, FOREIGN KEY(`stackId`) REFERENCES `Stack`(`localId`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`accountId`) REFERENCES `Account`(`id`) ON DELETE CASCADE )", - "DELETE FROM `Card` where accountId not in (select id from `Account`)", - "INSERT INTO `Card_tmp` select * from `Card`", - "DROP TABLE `Card`", - "ALTER TABLE `Card_tmp` RENAME TO `Card`", - "CREATE INDEX `card_accID` ON `Card` (`accountId`)", - "CREATE INDEX `index_Card_stackId` ON `Card` (`stackId`)", - "CREATE INDEX `index_Card_accountId` ON `Card` (`accountId`)", - "CREATE INDEX `index_Card_id` ON `Card` (`id`)", - "CREATE INDEX `index_Card_lastModifiedLocal` ON `Card` (`lastModifiedLocal`)", - "CREATE UNIQUE INDEX `index_Card_accountId_id` ON `Card` (`accountId`, `id`)", - "CREATE TABLE `DeckComment_tmp` (`localId` INTEGER PRIMARY KEY AUTOINCREMENT, `accountId` INTEGER NOT NULL, `id` INTEGER, `status` INTEGER NOT NULL, `lastModified` INTEGER, `lastModifiedLocal` INTEGER, `etag` TEXT, `objectId` INTEGER, `actorType` TEXT, `creationDateTime` INTEGER, `actorId` TEXT, `actorDisplayName` TEXT, `message` TEXT, `parentId` INTEGER, FOREIGN KEY(`objectId`) REFERENCES `Card`(`localId`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`parentId`) REFERENCES `DeckComment`(`localId`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`accountId`) REFERENCES `Account`(`id`) ON DELETE CASCADE )", - "DELETE FROM `DeckComment` where accountId not in (select id from `Account`)", - "INSERT INTO `DeckComment_tmp` select * from `DeckComment`", - "DROP TABLE `DeckComment`", - "ALTER TABLE `DeckComment_tmp` RENAME TO `DeckComment`", - "CREATE INDEX `comment_accID` ON `DeckComment` (`accountId`)", - "CREATE INDEX `index_DeckComment_objectId` ON `DeckComment` (`objectId`)", - "CREATE INDEX `idx_comment_parentID` ON `DeckComment` (`parentId`)", - "CREATE INDEX `index_DeckComment_accountId` ON `DeckComment` (`accountId`)", - "CREATE INDEX `index_DeckComment_id` ON `DeckComment` (`id`)", - "CREATE INDEX `index_DeckComment_lastModifiedLocal` ON `DeckComment` (`lastModifiedLocal`)", - "CREATE UNIQUE INDEX `index_DeckComment_accountId_id` ON `DeckComment` (`accountId`, `id`)", - "CREATE TABLE `Label_tmp` (`localId` INTEGER PRIMARY KEY AUTOINCREMENT, `accountId` INTEGER NOT NULL, `id` INTEGER, `status` INTEGER NOT NULL, `lastModified` INTEGER, `lastModifiedLocal` INTEGER, `etag` TEXT, `title` TEXT, `color` INTEGER NOT NULL DEFAULT 0, `boardId` INTEGER NOT NULL, FOREIGN KEY(`boardId`) REFERENCES `Board`(`localId`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`accountId`) REFERENCES `Account`(`id`) ON DELETE CASCADE )", - "DELETE FROM `Label` where accountId not in (select id from `Account`)", - "INSERT INTO `Label_tmp` select * from `Label`", - "DROP TABLE `Label`", - "ALTER TABLE `Label_tmp` RENAME TO `Label`", - "CREATE INDEX `index_Label_boardId` ON `Label` (`boardId`)", - "CREATE UNIQUE INDEX `idx_label_title_unique` ON `Label` (`boardId`, `title`)", - "CREATE INDEX `index_Label_accountId` ON `Label` (`accountId`)", - "CREATE INDEX `index_Label_id` ON `Label` (`id`)", - "CREATE INDEX `index_Label_lastModifiedLocal` ON `Label` (`lastModifiedLocal`)", - "CREATE UNIQUE INDEX `index_Label_accountId_id` ON `Label` (`accountId`, `id`)", - "CREATE TABLE `OcsProject_tmp` (`localId` INTEGER PRIMARY KEY AUTOINCREMENT, `accountId` INTEGER NOT NULL, `id` INTEGER, `status` INTEGER NOT NULL, `lastModified` INTEGER, `lastModifiedLocal` INTEGER, `etag` TEXT, `name` TEXT NOT NULL, FOREIGN KEY(`accountId`) REFERENCES `Account`(`id`) ON DELETE CASCADE )", - "DELETE FROM `OcsProject` where accountId not in (select id from `Account`)", - "INSERT INTO `OcsProject_tmp` select * from `OcsProject`", - "DROP TABLE `OcsProject`", - "ALTER TABLE `OcsProject_tmp` RENAME TO `OcsProject`", - "CREATE INDEX `index_project_accID` ON `OcsProject` (`accountId`)", - "CREATE INDEX `index_OcsProject_accountId` ON `OcsProject` (`accountId`)", - "CREATE INDEX `index_OcsProject_id` ON `OcsProject` (`id`)", - "CREATE INDEX `index_OcsProject_lastModifiedLocal` ON `OcsProject` (`lastModifiedLocal`)", - "CREATE UNIQUE INDEX `index_OcsProject_accountId_id` ON `OcsProject` (`accountId`, `id`)", - "CREATE TABLE `OcsProjectResource_tmp` (`localId` INTEGER PRIMARY KEY AUTOINCREMENT, `accountId` INTEGER NOT NULL, `id` INTEGER, `status` INTEGER NOT NULL, `lastModified` INTEGER, `lastModifiedLocal` INTEGER, `etag` TEXT, `type` TEXT, `name` TEXT, `link` TEXT, `path` TEXT, `iconUrl` TEXT, `mimetype` TEXT, `previewAvailable` INTEGER, `idString` TEXT, `projectId` INTEGER NOT NULL, FOREIGN KEY(`projectId`) REFERENCES `OcsProject`(`localId`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`accountId`) REFERENCES `Account`(`id`) ON DELETE CASCADE )", - "DELETE FROM `OcsProjectResource` where accountId not in (select id from `Account`)", - "INSERT INTO `OcsProjectResource_tmp` select * from `OcsProjectResource`", - "DROP TABLE `OcsProjectResource`", - "ALTER TABLE `OcsProjectResource_tmp` RENAME TO `OcsProjectResource`", - "CREATE INDEX `index_OcsProjectResource_id` ON `OcsProjectResource` (`id`)", - "CREATE INDEX `index_OcsProjectResource_lastModifiedLocal` ON `OcsProjectResource` (`lastModifiedLocal`)", - "CREATE UNIQUE INDEX `index_OcsProjectResource_accountId_id` ON `OcsProjectResource` (`accountId`, `id`, `idString`, `projectId`)", - "CREATE INDEX `index_projectResource_accID` ON `OcsProjectResource` (`accountId`)", - "CREATE INDEX `index_projectResource_projectId` ON `OcsProjectResource` (`projectId`)", - "CREATE TABLE `Stack_tmp` (`localId` INTEGER PRIMARY KEY AUTOINCREMENT, `accountId` INTEGER NOT NULL, `id` INTEGER, `status` INTEGER NOT NULL, `lastModified` INTEGER, `lastModifiedLocal` INTEGER, `etag` TEXT, `title` TEXT, `boardId` INTEGER NOT NULL, `deletedAt` INTEGER, `order` INTEGER NOT NULL, FOREIGN KEY(`boardId`) REFERENCES `Board`(`localId`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`accountId`) REFERENCES `Account`(`id`) ON DELETE CASCADE )", - "DELETE FROM `Stack` where accountId not in (select id from `Account`)", - "INSERT INTO `Stack_tmp` select * from `Stack`", - "DROP TABLE `Stack`", - "ALTER TABLE `Stack_tmp` RENAME TO `Stack`", - "CREATE INDEX `index_Stack_boardId` ON `Stack` (`boardId`)", - "CREATE INDEX `index_Stack_accountId` ON `Stack` (`accountId`)", - "CREATE INDEX `index_Stack_id` ON `Stack` (`id`)", - "CREATE INDEX `index_Stack_lastModifiedLocal` ON `Stack` (`lastModifiedLocal`)", - "CREATE UNIQUE INDEX `index_Stack_accountId_id` ON `Stack` (`accountId`, `id`)", - "CREATE TABLE `User_tmp` (`localId` INTEGER PRIMARY KEY AUTOINCREMENT, `accountId` INTEGER NOT NULL, `id` INTEGER, `status` INTEGER NOT NULL, `lastModified` INTEGER, `lastModifiedLocal` INTEGER, `etag` TEXT, `primaryKey` TEXT, `uid` TEXT, `displayname` TEXT, FOREIGN KEY(`accountId`) REFERENCES `Account`(`id`) ON DELETE CASCADE )", - "DELETE FROM `User` where accountId not in (select id from `Account`)", - "INSERT INTO `User_tmp` select * from `User`", - "DROP TABLE `User`", - "ALTER TABLE `User_tmp` RENAME TO `User`", - "CREATE INDEX `user_uid` ON `User` (`uid`)", - "CREATE INDEX `index_User_accountId` ON `User` (`accountId`)", - "CREATE INDEX `index_User_id` ON `User` (`id`)", - "CREATE INDEX `index_User_lastModifiedLocal` ON `User` (`lastModifiedLocal`)", - "CREATE UNIQUE INDEX `index_User_accountId_id` ON `User` (`accountId`, `id`)" - }; - public Migration_30_31() { super(30, 31); } @Override public void migrate(@NonNull SupportSQLiteDatabase database) { - for (String sql : SQLs) { - database.execSQL(sql); - } + database.execSQL("CREATE TABLE `AccessControl_tmp` (`localId` INTEGER PRIMARY KEY AUTOINCREMENT, `accountId` INTEGER NOT NULL, `id` INTEGER, `status` INTEGER NOT NULL, `lastModified` INTEGER, `lastModifiedLocal` INTEGER, `etag` TEXT, `type` INTEGER, `boardId` INTEGER, `owner` INTEGER NOT NULL, `permissionEdit` INTEGER NOT NULL, `permissionShare` INTEGER NOT NULL, `permissionManage` INTEGER NOT NULL, `userId` INTEGER, FOREIGN KEY(`boardId`) REFERENCES `Board`(`localId`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`accountId`) REFERENCES `Account`(`id`) ON DELETE CASCADE )"); + database.execSQL("DELETE FROM `AccessControl` where accountId not in (select id from `Account`)"); + database.execSQL("INSERT INTO `AccessControl_tmp` select * from `AccessControl`"); + database.execSQL("DROP TABLE `AccessControl`"); + database.execSQL("ALTER TABLE `AccessControl_tmp` RENAME TO `AccessControl`"); + database.execSQL("CREATE INDEX `acl_accId` ON `AccessControl` (`accountId`)"); + database.execSQL("CREATE INDEX `index_AccessControl_boardId` ON `AccessControl` (`boardId`)"); + database.execSQL("CREATE INDEX `index_AccessControl_accountId` ON `AccessControl` (`accountId`)"); + database.execSQL("CREATE INDEX `index_AccessControl_id` ON `AccessControl` (`id`)"); + database.execSQL("CREATE INDEX `index_AccessControl_lastModifiedLocal` ON `AccessControl` (`lastModifiedLocal`)"); + database.execSQL("CREATE UNIQUE INDEX `index_AccessControl_accountId_id` ON `AccessControl` (`accountId`, `id`)"); + database.execSQL("CREATE TABLE `Activity_tmp` (`localId` INTEGER PRIMARY KEY AUTOINCREMENT, `accountId` INTEGER NOT NULL, `id` INTEGER, `status` INTEGER NOT NULL, `lastModified` INTEGER, `lastModifiedLocal` INTEGER, `etag` TEXT, `cardId` INTEGER NOT NULL, `subject` TEXT, `type` INTEGER NOT NULL, FOREIGN KEY(`cardId`) REFERENCES `Card`(`localId`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`accountId`) REFERENCES `Account`(`id`) ON DELETE CASCADE )"); + database.execSQL("DELETE FROM `Activity` where accountId not in (select id from `Account`)"); + database.execSQL("INSERT INTO `Activity_tmp` select * from `Activity`"); + database.execSQL("DROP TABLE `Activity`"); + database.execSQL("ALTER TABLE `Activity_tmp` RENAME TO `Activity`"); + database.execSQL("CREATE INDEX `activity_accID` ON `Activity` (`accountId`)"); + database.execSQL("CREATE INDEX `activity_cardID` ON `Activity` (`cardId`)"); + database.execSQL("CREATE INDEX `index_Activity_accountId` ON `Activity` (`accountId`)"); + database.execSQL("CREATE INDEX `index_Activity_id` ON `Activity` (`id`)"); + database.execSQL("CREATE INDEX `index_Activity_lastModifiedLocal` ON `Activity` (`lastModifiedLocal`)"); + database.execSQL("CREATE UNIQUE INDEX `index_Activity_accountId_id` ON `Activity` (`accountId`, `id`)"); + database.execSQL("CREATE TABLE `Attachment_tmp` (`localId` INTEGER PRIMARY KEY AUTOINCREMENT, `accountId` INTEGER NOT NULL, `id` INTEGER, `status` INTEGER NOT NULL, `lastModified` INTEGER, `lastModifiedLocal` INTEGER, `etag` TEXT, `cardId` INTEGER NOT NULL, `type` TEXT, `data` TEXT, `createdAt` INTEGER, `createdBy` TEXT, `deletedAt` INTEGER, `filesize` INTEGER NOT NULL, `mimetype` TEXT, `dirname` TEXT, `basename` TEXT, `extension` TEXT, `filename` TEXT, `localPath` TEXT, `fileId` INTEGER, FOREIGN KEY(`cardId`) REFERENCES `Card`(`localId`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`accountId`) REFERENCES `Account`(`id`) ON DELETE CASCADE )"); + database.execSQL("DELETE FROM `Attachment` where accountId not in (select id from `Account`)"); + database.execSQL("INSERT INTO `Attachment_tmp` select * from `Attachment`"); + database.execSQL("DROP TABLE `Attachment`"); + database.execSQL("ALTER TABLE `Attachment_tmp` RENAME TO `Attachment`"); + database.execSQL("CREATE INDEX `index_Attachment_cardId` ON `Attachment` (`cardId`)"); + database.execSQL("CREATE INDEX `index_Attachment_accountId` ON `Attachment` (`accountId`)"); + database.execSQL("CREATE INDEX `index_Attachment_id` ON `Attachment` (`id`)"); + database.execSQL("CREATE INDEX `index_Attachment_lastModifiedLocal` ON `Attachment` (`lastModifiedLocal`)"); + database.execSQL("CREATE UNIQUE INDEX `index_Attachment_accountId_id` ON `Attachment` (`accountId`, `id`)"); + database.execSQL("CREATE TABLE `Board_tmp` (`localId` INTEGER PRIMARY KEY AUTOINCREMENT, `accountId` INTEGER NOT NULL, `id` INTEGER, `status` INTEGER NOT NULL, `lastModified` INTEGER, `lastModifiedLocal` INTEGER, `etag` TEXT, `title` TEXT, `ownerId` INTEGER NOT NULL, `color` INTEGER, `archived` INTEGER NOT NULL, `shared` INTEGER NOT NULL, `deletedAt` INTEGER, `permissionRead` INTEGER NOT NULL, `permissionEdit` INTEGER NOT NULL, `permissionManage` INTEGER NOT NULL, `permissionShare` INTEGER NOT NULL, FOREIGN KEY(`ownerId`) REFERENCES `User`(`localId`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`accountId`) REFERENCES `Account`(`id`) ON DELETE CASCADE )"); + database.execSQL("DELETE FROM `Board` where accountId not in (select id from `Account`)"); + database.execSQL("INSERT INTO `Board_tmp` select * from `Board`"); + database.execSQL("DROP TABLE `Board`"); + database.execSQL("ALTER TABLE `Board_tmp` RENAME TO `Board`"); + database.execSQL("CREATE INDEX `index_Board_ownerId` ON `Board` (`ownerId`)"); + database.execSQL("CREATE INDEX `index_Board_accountId` ON `Board` (`accountId`)"); + database.execSQL("CREATE INDEX `index_Board_id` ON `Board` (`id`)"); + database.execSQL("CREATE INDEX `index_Board_lastModifiedLocal` ON `Board` (`lastModifiedLocal`)"); + database.execSQL("CREATE UNIQUE INDEX `index_Board_accountId_id` ON `Board` (`accountId`, `id`)"); + database.execSQL("CREATE TABLE `Card_tmp` (`localId` INTEGER PRIMARY KEY AUTOINCREMENT, `accountId` INTEGER NOT NULL, `id` INTEGER, `status` INTEGER NOT NULL, `lastModified` INTEGER, `lastModifiedLocal` INTEGER, `etag` TEXT, `title` TEXT, `description` TEXT, `stackId` INTEGER NOT NULL, `type` TEXT, `createdAt` INTEGER, `deletedAt` INTEGER, `attachmentCount` INTEGER NOT NULL, `userId` INTEGER, `order` INTEGER NOT NULL, `archived` INTEGER NOT NULL, `dueDate` INTEGER, `notified` INTEGER NOT NULL, `overdue` INTEGER NOT NULL, `commentsUnread` INTEGER NOT NULL, FOREIGN KEY(`stackId`) REFERENCES `Stack`(`localId`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`accountId`) REFERENCES `Account`(`id`) ON DELETE CASCADE )"); + database.execSQL("DELETE FROM `Card` where accountId not in (select id from `Account`)"); + database.execSQL("INSERT INTO `Card_tmp` select * from `Card`"); + database.execSQL("DROP TABLE `Card`"); + database.execSQL("ALTER TABLE `Card_tmp` RENAME TO `Card`"); + database.execSQL("CREATE INDEX `card_accID` ON `Card` (`accountId`)"); + database.execSQL("CREATE INDEX `index_Card_stackId` ON `Card` (`stackId`)"); + database.execSQL("CREATE INDEX `index_Card_accountId` ON `Card` (`accountId`)"); + database.execSQL("CREATE INDEX `index_Card_id` ON `Card` (`id`)"); + database.execSQL("CREATE INDEX `index_Card_lastModifiedLocal` ON `Card` (`lastModifiedLocal`)"); + database.execSQL("CREATE UNIQUE INDEX `index_Card_accountId_id` ON `Card` (`accountId`, `id`)"); + database.execSQL("CREATE TABLE `DeckComment_tmp` (`localId` INTEGER PRIMARY KEY AUTOINCREMENT, `accountId` INTEGER NOT NULL, `id` INTEGER, `status` INTEGER NOT NULL, `lastModified` INTEGER, `lastModifiedLocal` INTEGER, `etag` TEXT, `objectId` INTEGER, `actorType` TEXT, `creationDateTime` INTEGER, `actorId` TEXT, `actorDisplayName` TEXT, `message` TEXT, `parentId` INTEGER, FOREIGN KEY(`objectId`) REFERENCES `Card`(`localId`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`parentId`) REFERENCES `DeckComment`(`localId`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`accountId`) REFERENCES `Account`(`id`) ON DELETE CASCADE )"); + database.execSQL("DELETE FROM `DeckComment` where accountId not in (select id from `Account`)"); + database.execSQL("INSERT INTO `DeckComment_tmp` select * from `DeckComment`"); + database.execSQL("DROP TABLE `DeckComment`"); + database.execSQL("ALTER TABLE `DeckComment_tmp` RENAME TO `DeckComment`"); + database.execSQL("CREATE INDEX `comment_accID` ON `DeckComment` (`accountId`)"); + database.execSQL("CREATE INDEX `index_DeckComment_objectId` ON `DeckComment` (`objectId`)"); + database.execSQL("CREATE INDEX `idx_comment_parentID` ON `DeckComment` (`parentId`)"); + database.execSQL("CREATE INDEX `index_DeckComment_accountId` ON `DeckComment` (`accountId`)"); + database.execSQL("CREATE INDEX `index_DeckComment_id` ON `DeckComment` (`id`)"); + database.execSQL("CREATE INDEX `index_DeckComment_lastModifiedLocal` ON `DeckComment` (`lastModifiedLocal`)"); + database.execSQL("CREATE UNIQUE INDEX `index_DeckComment_accountId_id` ON `DeckComment` (`accountId`, `id`)"); + database.execSQL("CREATE TABLE `Label_tmp` (`localId` INTEGER PRIMARY KEY AUTOINCREMENT, `accountId` INTEGER NOT NULL, `id` INTEGER, `status` INTEGER NOT NULL, `lastModified` INTEGER, `lastModifiedLocal` INTEGER, `etag` TEXT, `title` TEXT, `color` INTEGER NOT NULL DEFAULT 0, `boardId` INTEGER NOT NULL, FOREIGN KEY(`boardId`) REFERENCES `Board`(`localId`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`accountId`) REFERENCES `Account`(`id`) ON DELETE CASCADE )"); + database.execSQL("DELETE FROM `Label` where accountId not in (select id from `Account`)"); + database.execSQL("INSERT INTO `Label_tmp` select * from `Label`"); + database.execSQL("DROP TABLE `Label`"); + database.execSQL("ALTER TABLE `Label_tmp` RENAME TO `Label`"); + database.execSQL("CREATE INDEX `index_Label_boardId` ON `Label` (`boardId`)"); + database.execSQL("CREATE UNIQUE INDEX `idx_label_title_unique` ON `Label` (`boardId`, `title`)"); + database.execSQL("CREATE INDEX `index_Label_accountId` ON `Label` (`accountId`)"); + database.execSQL("CREATE INDEX `index_Label_id` ON `Label` (`id`)"); + database.execSQL("CREATE INDEX `index_Label_lastModifiedLocal` ON `Label` (`lastModifiedLocal`)"); + database.execSQL("CREATE UNIQUE INDEX `index_Label_accountId_id` ON `Label` (`accountId`, `id`)"); + database.execSQL("CREATE TABLE `OcsProject_tmp` (`localId` INTEGER PRIMARY KEY AUTOINCREMENT, `accountId` INTEGER NOT NULL, `id` INTEGER, `status` INTEGER NOT NULL, `lastModified` INTEGER, `lastModifiedLocal` INTEGER, `etag` TEXT, `name` TEXT NOT NULL, FOREIGN KEY(`accountId`) REFERENCES `Account`(`id`) ON DELETE CASCADE )"); + database.execSQL("DELETE FROM `OcsProject` where accountId not in (select id from `Account`)"); + database.execSQL("INSERT INTO `OcsProject_tmp` select * from `OcsProject`"); + database.execSQL("DROP TABLE `OcsProject`"); + database.execSQL("ALTER TABLE `OcsProject_tmp` RENAME TO `OcsProject`"); + database.execSQL("CREATE INDEX `index_project_accID` ON `OcsProject` (`accountId`)"); + database.execSQL("CREATE INDEX `index_OcsProject_accountId` ON `OcsProject` (`accountId`)"); + database.execSQL("CREATE INDEX `index_OcsProject_id` ON `OcsProject` (`id`)"); + database.execSQL("CREATE INDEX `index_OcsProject_lastModifiedLocal` ON `OcsProject` (`lastModifiedLocal`)"); + database.execSQL("CREATE UNIQUE INDEX `index_OcsProject_accountId_id` ON `OcsProject` (`accountId`, `id`)"); + database.execSQL("CREATE TABLE `OcsProjectResource_tmp` (`localId` INTEGER PRIMARY KEY AUTOINCREMENT, `accountId` INTEGER NOT NULL, `id` INTEGER, `status` INTEGER NOT NULL, `lastModified` INTEGER, `lastModifiedLocal` INTEGER, `etag` TEXT, `type` TEXT, `name` TEXT, `link` TEXT, `path` TEXT, `iconUrl` TEXT, `mimetype` TEXT, `previewAvailable` INTEGER, `idString` TEXT, `projectId` INTEGER NOT NULL, FOREIGN KEY(`projectId`) REFERENCES `OcsProject`(`localId`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`accountId`) REFERENCES `Account`(`id`) ON DELETE CASCADE )"); + database.execSQL("DELETE FROM `OcsProjectResource` where accountId not in (select id from `Account`)"); + database.execSQL("INSERT INTO `OcsProjectResource_tmp` select * from `OcsProjectResource`"); + database.execSQL("DROP TABLE `OcsProjectResource`"); + database.execSQL("ALTER TABLE `OcsProjectResource_tmp` RENAME TO `OcsProjectResource`"); + database.execSQL("CREATE INDEX `index_OcsProjectResource_id` ON `OcsProjectResource` (`id`)"); + database.execSQL("CREATE INDEX `index_OcsProjectResource_lastModifiedLocal` ON `OcsProjectResource` (`lastModifiedLocal`)"); + database.execSQL("CREATE UNIQUE INDEX `index_OcsProjectResource_accountId_id` ON `OcsProjectResource` (`accountId`, `id`, `idString`, `projectId`)"); + database.execSQL("CREATE INDEX `index_projectResource_accID` ON `OcsProjectResource` (`accountId`)"); + database.execSQL("CREATE INDEX `index_projectResource_projectId` ON `OcsProjectResource` (`projectId`)"); + database.execSQL("CREATE TABLE `Stack_tmp` (`localId` INTEGER PRIMARY KEY AUTOINCREMENT, `accountId` INTEGER NOT NULL, `id` INTEGER, `status` INTEGER NOT NULL, `lastModified` INTEGER, `lastModifiedLocal` INTEGER, `etag` TEXT, `title` TEXT, `boardId` INTEGER NOT NULL, `deletedAt` INTEGER, `order` INTEGER NOT NULL, FOREIGN KEY(`boardId`) REFERENCES `Board`(`localId`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`accountId`) REFERENCES `Account`(`id`) ON DELETE CASCADE )"); + database.execSQL("DELETE FROM `Stack` where accountId not in (select id from `Account`)"); + database.execSQL("INSERT INTO `Stack_tmp` select * from `Stack`"); + database.execSQL("DROP TABLE `Stack`"); + database.execSQL("ALTER TABLE `Stack_tmp` RENAME TO `Stack`"); + database.execSQL("CREATE INDEX `index_Stack_boardId` ON `Stack` (`boardId`)"); + database.execSQL("CREATE INDEX `index_Stack_accountId` ON `Stack` (`accountId`)"); + database.execSQL("CREATE INDEX `index_Stack_id` ON `Stack` (`id`)"); + database.execSQL("CREATE INDEX `index_Stack_lastModifiedLocal` ON `Stack` (`lastModifiedLocal`)"); + database.execSQL("CREATE UNIQUE INDEX `index_Stack_accountId_id` ON `Stack` (`accountId`, `id`)"); + database.execSQL("CREATE TABLE `User_tmp` (`localId` INTEGER PRIMARY KEY AUTOINCREMENT, `accountId` INTEGER NOT NULL, `id` INTEGER, `status` INTEGER NOT NULL, `lastModified` INTEGER, `lastModifiedLocal` INTEGER, `etag` TEXT, `primaryKey` TEXT, `uid` TEXT, `displayname` TEXT, FOREIGN KEY(`accountId`) REFERENCES `Account`(`id`) ON DELETE CASCADE )"); + database.execSQL("DELETE FROM `User` where accountId not in (select id from `Account`)"); + database.execSQL("INSERT INTO `User_tmp` select * from `User`"); + database.execSQL("DROP TABLE `User`"); + database.execSQL("ALTER TABLE `User_tmp` RENAME TO `User`"); + database.execSQL("CREATE INDEX `user_uid` ON `User` (`uid`)"); + database.execSQL("CREATE INDEX `index_User_accountId` ON `User` (`accountId`)"); + database.execSQL("CREATE INDEX `index_User_id` ON `User` (`id`)"); + database.execSQL("CREATE INDEX `index_User_lastModifiedLocal` ON `User` (`lastModifiedLocal`)"); + database.execSQL("CREATE UNIQUE INDEX `index_User_accountId_id` ON `User` (`accountId`, `id`)"); } } |