project-imas / encrypted-core-data

v2.0 - iOS Core Data encrypted SQLite store using SQLCipher
Other
785 stars 236 forks source link

Migrating SQLCipher version from 3.x to 4.x in Encrypted Core Data #334

Open nareshnallamsetty opened 3 years ago

nareshnallamsetty commented 3 years ago

I am using Encrypted Store to encrypt the data that i am storing in my core data models. As Encrypted Core Data uses SQLCipher for encrypting i am using SQLCipher 3.x version in my app. Now as there is an update in SQLCipher i want to migrate from 3.x to 4.x without any data loss for my live users. What is the best way to migrate SQLCipher from 3.x to 4.x in Encrypted Core Data? If i need to have the custom migration logic then which is the best place to have that logic?

pertau commented 2 years ago

This may be late, but I have the same problem / issue to solve right now. At first I ve updated sqlcipher and found issues opening the sqlcipher 3 database. I quickly found, that opening the old database won't work without changing the startup code in "configureDatabasePassphrase", since this function tries to open the db before adding the pragmas which are required for backwards compatibillty.