如何在SQLite.swift中删除列

hiz5n14c  于 2023-01-17  发布在  SQLite
关注(0)|答案(1)|浏览(155)

我正在尝试做一个SQLite.swift迁移,它将删除列。但是我在文档中找不到任何方法。我只看到addColumn,但没有任何用于删除的方法。它是如何设计来删除列的?
目前我发现的唯一方法是获取所有数据,删除表并重新创建表,但这看起来一点效率都没有。

let cachedItems = ... //Getting all items
let table = Table("TableName")
do {
    try Database.db.run(table())
    SomeTableModel().createTable()
    cachedItems.saveAllToDB()
} catch {
    print("Can't finish migration \(version)")
}
dgiusagp

dgiusagp1#

SchemaChanger的文档给予了删除列的示例:

let schemaChanger = SchemaChanger(connection: db)
try schemaChanger.alter(table: "users") { table in
    table.drop(column: "email")
}

相关问题