From 391dfbdfcc518e6798ff50f4ad2bb25ac6d3480b Mon Sep 17 00:00:00 2001 From: Noel De Martin Date: Mon, 17 Apr 2023 14:54:09 +0200 Subject: [PATCH] MOBILE-4284 question: Drop unused DB columns WebSQL doesn't support dropping columns, that's why we're migrating to a new table with the _2 suffix instead. --- .../question/services/database/question.ts | 24 +++++++++---------- .../features/question/services/question.ts | 3 --- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/src/core/features/question/services/database/question.ts b/src/core/features/question/services/database/question.ts index f43a7991e..fc13bd4bb 100644 --- a/src/core/features/question/services/database/question.ts +++ b/src/core/features/question/services/database/question.ts @@ -12,16 +12,17 @@ // See the License for the specific language governing permissions and // limitations under the License. +import { SQLiteDB } from '@classes/sqlitedb'; import { CoreSiteSchema } from '@services/sites'; /** * Database variables for CoreQuestion service. */ -export const QUESTION_TABLE_NAME = 'questions'; +export const QUESTION_TABLE_NAME = 'questions_2'; export const QUESTION_ANSWERS_TABLE_NAME = 'question_answers'; export const QUESTION_SITE_SCHEMA: CoreSiteSchema = { name: 'CoreQuestionProvider', - version: 1, + version: 2, tables: [ { name: QUESTION_TABLE_NAME, @@ -45,14 +46,6 @@ export const QUESTION_SITE_SCHEMA: CoreSiteSchema = { name: 'componentid', type: 'INTEGER', }, - { - name: 'userid', - type: 'INTEGER', - }, - { - name: 'number', - type: 'INTEGER', - }, { name: 'state', type: 'TEXT', @@ -102,6 +95,15 @@ export const QUESTION_SITE_SCHEMA: CoreSiteSchema = { primaryKeys: ['component', 'attemptid', 'name'], }, ], + async migrate(db: SQLiteDB, oldVersion: number): Promise { + if (oldVersion < 2) { + await db.migrateTable( + 'questions', + QUESTION_TABLE_NAME, + ({ component, componentid, attemptid, slot, state }) => ({ component, componentid, attemptid, slot, state }), + ); + } + }, }; /** @@ -112,8 +114,6 @@ export type CoreQuestionDBRecord = { attemptid: number; slot: number; componentid: number; - userid: number; - number?: number; // eslint-disable-line id-blacklist state: string; }; diff --git a/src/core/features/question/services/question.ts b/src/core/features/question/services/question.ts index de21a3373..fc3ed4d60 100644 --- a/src/core/features/question/services/question.ts +++ b/src/core/features/question/services/question.ts @@ -547,14 +547,11 @@ export class CoreQuestionProvider { state: string, siteId?: string, ): Promise { - const site = await CoreSites.getSite(siteId); const entry: CoreQuestionDBRecord = { component, componentid: componentId, attemptid: attemptId, - userid: userId, - number: question.number, // eslint-disable-line id-blacklist slot: question.slot, state: state, };