iOS中的FMDB初始化和升级数据库版本

时间:2015-10-08 05:53:20

标签: ios sqlite fmdb

我在我的iOS应用程序中使用FMDB和Sqllite。我知道如何以编程方式创建数据库和表,但我很困惑在哪里编写代码,所以它第一次运行。如果我在应用程序:didFinishLaunching 方法中编写代码,那么每次打开应用程序时它都会运行。有没有我可以初始化/创建数据库和数据库表的方法?

另一个问题是假设我需要在上传新版本的应用程序时对数据库进行一些更改,然后我需要在哪个方法中编写代码,这样只会第一次执行?

期待收到你的来信。

谢谢你, SHAILESH

3 个答案:

答案 0 :(得分:3)

对于第二个问题,您需要有版本号

http://ccgus.github.io/fmdb/html/Categories/FMDatabase+FMDatabaseAdditions.html#//api/name/userVersion

FMDatabase *db = [FMDatabase databaseWithPath:PATH];
uint32_t version = [db userVersion]

并检查代码中的数字版本,如果数据库版本号小于您的代码版本号,请调用方法进行升级

您应该将此验证放在applicationdidFinishLaunching方法

答案 1 :(得分:1)

您可以检查沙箱的Documents目录中是否存在sqlite文件,如果存在,则可以确保已经初始化/创建了DB和DB Tables。

答案 2 :(得分:0)

如果您需要在应用程序打开时检查数据库是否存在,则此代码将执行此操作。把它放在应用程序中willFinishLaunchingWithOptions:

https://stackoverflow.com/a/9303745/5465258