【发布时间】:2017-09-04 20:46:24
【问题描述】:
我正在使用 SQLite,它 doesn't support 将 a constraint 添加到现有表中。
所以我不能这样做(仅作为示例):
ALTER TABLE [Customer]
ADD CONSTRAINT specify_either_phone_or_email
CHECK (([Phone] IS NOT NULL) OR ([Email] IS NOT NULL));
是否有针对这种情况的解决方法?
我知道:
- 我可以为新表添加约束,但它不是新表(它是由我的 ORM EF Core 生成的)
- 我可以进行“表重建”(重命名表、创建新表、复制旧数据、删除临时表),但这似乎很复杂
想法
- 我能否以某种方式将该表的副本复制到一个新表中,并进行一些架构更改?
- 或者以某种方式“获取”架构,并在 SQL 脚本中对其进行编辑,然后使用该架构添加一个表?
【问题讨论】:
标签: sqlite database-schema entity-framework-core alter-table check-constraints