【问题标题】:What to do to make an existing non-optional field optional in database table in SQlite?如何使现有的非可选字段在 SQlite 的数据库表中成为可选字段?
【发布时间】:2021-07-28 06:52:09
【问题描述】:

我使用GRDB 进行本地持久化。

Item 表中创建了一个具有以下约束的列。

table.column(Item.CodingKeys.text.rawValue, .text).notNull()

现在我想更改它以支持可选值。

table.column(Item.CodingKeys.text.rawValue, .text)

但是为了迁移,我不能改变它的属性。只有add, rename 可用于该列。

我应该采取什么方法来正确迁移,同时保持向后兼容性?

【问题讨论】:

    标签: ios grdb


    【解决方案1】:

    ALTER COLUMNSQLite 中是不可能的。

    仅支持更改操作:

    • 更改表名
    • 更改表列名称
    • 添加新列
    • 删除列

    参考:

    【讨论】:

    • 这个分享link回答了它。
    猜你喜欢
    • 2011-02-01
    • 2018-09-12
    • 1970-01-01
    • 2014-10-10
    • 1970-01-01
    • 2022-01-01
    • 2014-06-09
    • 1970-01-01
    • 2020-02-17
    相关资源
    最近更新 更多