在 sqlite.swift 中创建跨多个列的索引



我将 sqlite.swift 更新到版本 0.11.4,当我创建包含两列的索引时,我的编译器会出错。

在使用命令之前

try db.run(table.createIndex([column1, column2], unique: true, ifNotExists: true))

更新后,它不再起作用。我应该使用可表达的。但我不是那么先进。

Contextual type 'Expressible' cannot be used with array literal

你能在这里帮我一把吗?

谢谢!!!

好的,我想出了问题。 我在这里添加它,以防其他人遇到这个问题。 在以前版本的 Swift 中,你可以将数组传递给可变参数。 使用较新版本的 Swift,您不能再这样做了。 我不得不将我的代码从:

do {
   try db.run(table.createIndex([identifier], ifNotExists: true))
} catch let error {
   Log.e("DB: Unable to create index for identifier.  Error: (error.localizedDescription)")
}

自:

do {
   try db.run(table.createIndex(identifier, ifNotExists: true))
} catch let error {
   Log.e("DB: Unable to create index for identifier.  Error: (error.localizedDescription)")
}

如果需要传递多个参数,只需用逗号分隔即可。

try db.run(table.createIndex(identifier1, identifier2, identifier3, ifNotExists: true))

相关内容

  • 没有找到相关文章

最新更新