升级OS应用程序时有哪些迁移sqlite数据库的选项?

时间:2010-11-21 21:03:37

标签: iphone sqlite ios migration

基本上我想在升级iPhone应用程序时相应地迁移sqlite schemata和数据。我听说迁移框架在Ruby,Java和.NET空间中变得越来越流行,但在iOS领域有什么可以帮助我吗?

CoreData目前不是我的选择。 (请不要问为什么,它不是。)

如果迁移库不可用,您采取什么方法?

1 个答案:

答案 0 :(得分:1)

在我过去,我通常使用数据库中的PRAGMA命令保留版本信息。每当我的应用程序启动时,我都会检查数据库当前所在的版本,并调用任何所需的更新例程来改变结构。

对于大多数拥有完整框架的案例来说,这是过度的;特别是如果数据库中的表少于10或20个。

一些伪代码:

currentVersion = getCurrentDbVersion()

if currentVersion < 2 then
  upgradeToVersion2();
end if

if currentVersion < 3 then
  upgradeToVersion3();
end if

if currentVersion < 4 then
  upgradeToVersion4();
end if

以下是有关该PRAGMA命令的更多信息: http://www.sqlite.org/pragma.html#pragma_user_version

希望有所帮助。 :)