forked from Ivasoft/mattermost-mobile
Remove uneeded database migrations (#6985)
This commit is contained in:
committed by
GitHub
parent
2597e06ac2
commit
9c19e4d04a
@@ -8,7 +8,7 @@ import {DeviceEventEmitter, Platform} from 'react-native';
|
||||
import DeviceInfo from 'react-native-device-info';
|
||||
import FileSystem from 'react-native-fs';
|
||||
|
||||
import {DatabaseType, MIGRATION_EVENTS, MM_TABLES, SYSTEM_IDENTIFIERS} from '@constants/database';
|
||||
import {DatabaseType, MIGRATION_EVENTS, MM_TABLES} from '@constants/database';
|
||||
import AppDatabaseMigrations from '@database/migration/app';
|
||||
import ServerDatabaseMigrations from '@database/migration/server';
|
||||
import {InfoModel, GlobalModel, ServersModel} from '@database/models/app';
|
||||
@@ -24,12 +24,10 @@ import {schema as appSchema} from '@database/schema/app';
|
||||
import {serverSchema} from '@database/schema/server';
|
||||
import {beforeUpgrade} from '@helpers/database/upgrade';
|
||||
import {getActiveServer, getServer, getServerByIdentifier} from '@queries/app/servers';
|
||||
import {querySystemValue} from '@queries/servers/system';
|
||||
import {deleteLegacyFileCache} from '@utils/file';
|
||||
import {emptyFunction} from '@utils/general';
|
||||
import {logDebug, logError} from '@utils/log';
|
||||
import {deleteIOSDatabase, getIOSAppGroupDetails, renameIOSDatabase} from '@utils/mattermost_managed';
|
||||
import {hashCode_DEPRECATED, urlSafeBase64Encode} from '@utils/security';
|
||||
import {urlSafeBase64Encode} from '@utils/security';
|
||||
import {removeProtocol} from '@utils/url';
|
||||
|
||||
import type {AppDatabase, CreateServerDatabaseArgs, RegisterServerDatabaseArgs, Models, ServerDatabase, ServerDatabases} from '@typings/database/database';
|
||||
@@ -133,12 +131,6 @@ class DatabaseManager {
|
||||
if (serverUrl) {
|
||||
try {
|
||||
const databaseName = urlSafeBase64Encode(serverUrl);
|
||||
const oldDatabaseName = hashCode_DEPRECATED(serverUrl);
|
||||
|
||||
// Remove any legacy database we may already have.
|
||||
await this.renameDatabase(oldDatabaseName, databaseName);
|
||||
deleteLegacyFileCache(serverUrl);
|
||||
|
||||
const databaseFilePath = this.getDatabaseFilePath(databaseName);
|
||||
const migrations = ServerDatabaseMigrations;
|
||||
const modelClasses = this.serverModels;
|
||||
@@ -181,38 +173,13 @@ class DatabaseManager {
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
private initServerDatabase = async (serverUrl: string): Promise<void> => {
|
||||
const serverDatabase = await this.createServerDatabase({
|
||||
await this.createServerDatabase({
|
||||
config: {
|
||||
dbName: serverUrl,
|
||||
dbType: DatabaseType.SERVER,
|
||||
serverUrl,
|
||||
},
|
||||
});
|
||||
|
||||
// Migration for config
|
||||
if (serverDatabase) {
|
||||
const {database, operator} = serverDatabase;
|
||||
const oldConfigList = await querySystemValue(database, SYSTEM_IDENTIFIERS.CONFIG).fetch();
|
||||
if (oldConfigList.length) {
|
||||
const oldConfigModel = oldConfigList[0];
|
||||
const oldConfig = oldConfigModel.value as ClientConfig;
|
||||
|
||||
const configs = [];
|
||||
let k: keyof ClientConfig;
|
||||
for (k in oldConfig) {
|
||||
// Check to silence eslint (guard-for-in)
|
||||
if (Object.prototype.hasOwnProperty.call(oldConfig, k)) {
|
||||
configs.push({
|
||||
id: k,
|
||||
value: oldConfig[k],
|
||||
});
|
||||
}
|
||||
}
|
||||
const models = await operator.handleConfigs({configs, configsToDelete: [], prepareRecordsOnly: true});
|
||||
|
||||
operator.batchRecords([...models, oldConfigModel.prepareDestroyPermanently()]);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user