Open bhandaribhumin opened 3 years ago
@mhartington could you please help me on this? It is critical and high priority for us because user lost his/her data after update new version of the app. we fix this issue for Android but SQLitePlugin.m -> sqlite3_exec is not working after passing key from app.module.ts
IonicStorageModule.forRoot({
dbKey:'',
driverOrder: ['sqlite', 'indexeddb', 'websql']
})
cipher plugin version details : "cordova-sqlcipher-adapter": "0.1.12-rc2",
@bhandaribhumin is this issue resolved? even we are facing the same thing after upgrade.
Thanks
yes @bhargavas12 resolved, we are doing few changes in SQLitePlugin.m and SQLitePlugin.java file and it works :)
Fixes : SQLitePlugin.m
if(sqlite3_exec(db, (const char*)"SELECT * FROM _ionickv;", my_special_callback, NULL, NULL) == SQLITE_OK){
NSLog(@"_ionickv is open");
}else{
NSLog(@"Key Not valid");
sqlite3_key(db, "_ionickey", strlen("_ionickey"));
sqlite3_exec(db, (const char*)"SELECT * FROM _ionickv;", my_special_callback, NULL, NULL);
}
SQLitePlugin.java
try {
mydb.open(dbfile, key);
} catch (Exception e) {
Log.e(this.getClass().getSimpleName(), "Failed with previous key : "+key+" With error : "+e.getMessage());
mydb.open(dbfile, "_ionickey");
}
@bhandaribhumin
driverOrder: ['localstorage', 'indexeddb', 'sqlite', 'websql']
this is our drive order and we updated to angular 13 from angular9 and ionic version is 6.
as part of this upgrade the storage isn't retaining.
tried your hack but no luck.
what i tried:
moved to latest ionic/storage i.e.., 3.0.6 installed ionic/storage-angular - 3.0.6 tried to shuffle drive order but nothing worked.
Please help.
@bhargavas12 you may need to add below code while init storage in app.module.ts
IonicStorageModule.forRoot({
dbKey:'',
driverOrder: ['sqlite', 'indexeddb', 'websql']
}),
We had tested all scenarios and now app works perfectly.
we had the preferrence as localstorage followed by indexdb and sqllite. in the app before upgrade
Reproduce Description :
We already have an application on AppStore/play store with app version 1.0.0 after we update dependency from "@ionic/storage": "2.1.3", to "@ionic/storage": "2.2.0" and push with version 1.1.0 to AppStore/play store application works only when user installs fresh but when they try to update app then the app will be stuck.
We can not tested upgrade scenario before send to production can anyone suggest how can I solve this issue?
"@ionic/storage": "2.1.3" works "@ionic/storage": "2.2.0" not works on upgrade scenario.
Ref : https://github.com/ionic-team/ionic-storage/commit/2e888c52a17b8702324ffc2531369fe6e8bb7bb5
Error LOGs: