【发布时间】:2019-06-10 13:47:22
【问题描述】:
add_foreign_key 可以在 ALTER TABLE 命令中添加“NOT VALID”参数吗? (Postgres,如果重要的话)
我在两个非常大的表之间有一个外键。我需要将 CASCADE DELETE 添加到密钥中。似乎 Postgres 不支持将级联添加到现有外键。解决方案是删除密钥,并在级联中添加一个新密钥。
很简单...除了检查约束需要很长时间。我不确定在检查期间是否有任何锁定,但实际上,我只想跳过它。数据在我放弃约束之前是有效的……稍后它将是有效的。
Postgres 通过ALTER TABLE ADD CONSTRAINT ... NOT VALID 支持这一点。 (这意味着“跳过验证”,即使听起来你说它无效。:耸耸肩:)
那么,我可以让 add_foreign_key 不验证吗?
【问题讨论】:
标签: ruby-on-rails activerecord foreign-keys