storesafe / cordova-sqlite-storage

A Cordova/PhoneGap plugin to open and use sqlite databases on Android, iOS and Windows with HTML5/Web SQL API
Other
2.14k stars 713 forks source link

indexeddb lost when updating app from cordova-android 9 to cordova-android 11 #1008

Open vladansaracpv opened 1 year ago

vladansaracpv commented 1 year ago

Hi,

We have an app that's currently on app/play store and uses cordova-android 9. We created new version of the app with cordova-android 11 (to align with google requirements). When we do the update from store version to new version, all storage data is lost. Any idea what could be the problem?

We're using storage like this: IonicStorageModule.forRoot({ driverOrder: ['indexeddb', 'sqlite', 'websql'] }),

Dependencies:

"dependencies": { "@angular/common": "~7.2.2", "@angular/core": "~7.2.2", "@angular/forms": "~7.2.2", "@angular/http": "~7.2.2", "@angular/platform-browser": "~7.2.2", "@angular/platform-browser-dynamic": "~7.2.2", "@angular/router": "~7.2.2", "@ionic-native/android-permissions": "^5.13.0", "@ionic-native/app-version": "^5.13.0", "@ionic-native/camera": "^5.13.0", "@ionic-native/clipboard": "^5.14.0", "@ionic-native/contacts": "^5.14.0", "@ionic-native/core": "^5.27.0", "@ionic-native/deeplinks": "^5.26.0", "@ionic-native/device": "^5.14.0", "@ionic-native/diagnostic": "^5.13.0", "@ionic-native/document-viewer": "^5.13.0", "@ionic-native/file": "^5.13.0", "@ionic-native/file-opener": "^5.13.0", "@ionic-native/firebase": "5.10.0", "@ionic-native/firebase-analytics": "^5.34.0", "@ionic-native/http": "^5.18.0", "@ionic-native/in-app-browser": "^5.13.0", "@ionic-native/ionic-webview": "^5.13.0", "@ionic-native/keyboard": "^5.13.0", "@ionic-native/keychain-touch-id": "^5.22.0", "@ionic-native/network": "^5.10.0", "@ionic-native/open-native-settings": "^5.15.0", "@ionic-native/photo-viewer": "^5.15.0", "@ionic-native/social-sharing": "^5.31.1", "@ionic-native/splash-screen": "~5.0.0", "@ionic-native/sqlite": "^5.28.0", "@ionic-native/status-bar": "~5.0.0", "@ionic-native/toast": "5.10.0", "@ionic/angular": "^4.11.4", "@ionic/core": "^4.11.4", "@ionic/storage": "2.2.0", "@ngx-translate/core": "11.0.1", "@ngx-translate/http-loader": "4.0.0", "@types/marked": "^4.0.3", "@types/node-forge": "^0.10.10", "big-integer": "^1.6.48", "buffer": "^6.0.3", "canvas-confetti": "^1.4.0", "chart.js": "^2.7.2", "cordova-android": "11.0.0", "cordova-android-support-gradle-release": "^3.0.1", "cordova-clipboard": "^1.3.0", "cordova-custom-config": "^5.1.0", "cordova-ios": "^6.2.0", "cordova-open-native-settings": "^1.5.2", "cordova-plugin-add-swift-support": "^2.0.2", "cordova-plugin-android-permissions": "^1.0.2", "cordova-plugin-androidx": "3.0.0", "cordova-plugin-androidx-adapter": "^1.1.1", "cordova-plugin-app-version": "^0.1.9", "cordova-plugin-camera": "^4.1.0", "cordova-plugin-device": "^2.0.3", "cordova-plugin-document-viewer": "^0.9.13", "cordova-plugin-file-opener2": "^2.2.1", "cordova-plugin-inappbrowser": "^4.0.0", "cordova-plugin-ionic-keyboard": "file:cordova-plugin-ionic-keyboard", "cordova-plugin-ionic-webview": "^5.0.0", "cordova-plugin-network-information": "^2.0.2", "cordova-plugin-splashscreen": "^6.0.2", "cordova-plugin-sslcertificatechecker": "^6.0.0", "cordova-plugin-statusbar": "^2.4.3", "cordova-plugin-x-socialsharing": "6.0.4", "cordova-plugin-x-toast": "^2.7.2", "cordova-sqlite-storage": "~5.0.1", "cordova.plugins.diagnostic": "^5.0.2", "core-js": "~2.5.4", "d3": "3.5.5", "hammerjs": "^2.0.8", "html-to-image": "^1.9.0", "ionic": "^4.12.0", "ionic-plugin-deeplinks": "1.0.19", "ionicons": "^4.6.3", "marked": "^4.0.18", "moment": "2.24.0", "ng2-validation": "^4.2.0", "ngx-moment": "^3.4.0", "node-forge": "^0.10.0", "npm": "6.10.2", "replace": "^1.2.1", "rxjs": "6.5.2", "skwas-cordova-plugin-datetimepicker": "^2.1.2", "swissqrbill": "3.2.0", "tslib": "^2.0.1", "zone.js": "~0.8.29" },

brodybits commented 1 year ago

I suspect you app is using a different "driver" after that upgrade. This looks like a pitfall that needs to be documented.

sithwarrior commented 1 year ago

@vladansaracpv The issue is probably a combination of your driver order and an issue with indexeddb detection in local forage.

You can read a bit more about it here: https://github.com/localForage/localForage/pull/999

I would change your driver order to sqlite first