can you selectively update certain sqllite tables when updating an iphone app, in order to preserve user stored data? how? appreciate the help!
can you selectively update certain sqllite tables when updating an iphone app, in order
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
At the simplest level, you’ll need to:
Store some version number information in the SQL database in the app’s document directory.
When your app launches, you can compare this version data to the copy in your bundle.
If the version is different, you’ll then need to activate a “updater” class, the responsibility of which is to:
3.1. Check for the existence of each table.
3.2. If it exists, load any existing data into a suitable data structure (an NSDictionary most likely), cull the table and create it in the “current” format, providing sensible defaults where no data exists.
As you can imagine, in the above scenario the updater class effectively needs to know how to create each table in turn, which isn’t ideal – an alternative approach being to store a list of ALTER TABLE statements for each version and then apply them in turn until the database structure is up to date.