6
看看liquibase和add-foreign-key-constraint的文档,有一个名为deferrable的属性。但是文件并没有真正提到这些财产的作用。有人知道吗?Liquibase add-foreign-key-constraint可推迟:这是什么意思?
看看liquibase和add-foreign-key-constraint的文档,有一个名为deferrable的属性。但是文件并没有真正提到这些财产的作用。有人知道吗?Liquibase add-foreign-key-constraint可推迟:这是什么意思?
DEFERRABLE
不可推迟
该控制约束是否可以被推迟。每个命令后都会立即检查不可延迟的约束。可以推迟检查可推迟的约束,直到事务结束(使用SET CONSTRAINTS命令)。 NOT DEFERRABLE是默认值。目前只有外键约束接受这个条款。所有其他约束类型都不可延迟。
[来源] http://www.postgresql.org/docs/8.1/static/sql-createtable.html
总之,假设两个表具有环状FK依赖性。当我们对两个表中不存在引用数据的数据执行插入操作并且FK约束不会被延迟时,由于存在违反FK约束的情况,DB会抛出错误。如果延期,验证将在提交交易时执行。
这就是我的想法。感谢您清理它。 – Gregg 2012-07-10 00:43:23