开发者

What options are there for migrating sqlite databases when upgrading OS apps?

Essentially I want to migrate sqlite schemata, and data accordingly, as I upgrade iPhone applications. I've heard of migrati开发者_如何学运维ons frameworks becoming more popular in the Ruby, Java and .NET spaces, but is there something to help me in the iOS space?

CoreData isn't an option for me at the moment. (Please don't ask why, it just isn't.)

If a migrations library isn't available what approaches do you take?


In my past I usually kept a version info using a PRAGMA command in the database. Whenever my app starts up, I check which version the database is currently in, and call any needed update routines to alter the structure.

For most cases having a whole framework to do that is overkill; especially if you have less than 10 or 20 tables in the database.

Some pseudocode:

currentVersion = getCurrentDbVersion()

if currentVersion < 2 then
  upgradeToVersion2();
end if

if currentVersion < 3 then
  upgradeToVersion3();
end if

if currentVersion < 4 then
  upgradeToVersion4();
end if

Here is some more information about that PRAGMA command: http://www.sqlite.org/pragma.html#pragma_user_version

Hope that helps. :)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜