【发布时间】:2017-10-09 09:17:37
【问题描述】:
我知道如何将 FMDB 用于创建数据库表等基本功能。
当我想像添加新列一样更新我的表时,我需要更新用户版本号。
FMDB 有一个userVersion 属性应该是sqlite 的user_version。我使用了以下代码:
if let db = DBManager.shared.database, db.userVersion == 0, db.open() {
addColumnsToSomeTable()
db.userVersion = 1
}
但是运行项目,userVersion 仍然是 0。它应该是 1,这个 if 块不应该被输入。
为什么userVersion不能升级?
我也试过了:
let string = "PRAGMA user_version = 1"
do {
try db.executeUpdate(string, values: nil)
} catch {
}
还是同样的问题。
我搜索了一些教程,其中大多数都有fileExists检查如下:
if !FileManager.default.fileExists(atPath: dbPath) {
database = FMDatabase(path: dbPath)
}
这里有什么意义?如果文件存在,那么获取它的正确方法是什么?
不一样:database = FMDatabase(path: dbPath)?
【问题讨论】:
标签: ios swift database sqlite fmdb