Nhìn vào tài liệu cho liquibase và add-foreign-key-constraint có một tài sản được gọi là trì hoãn. Nhưng các tài liệu không thực sự đề cập đến những gì tài sản đó làm. Có ai biết không?Liquibase thêm-ngoại-key-constraint deferrable: có nghĩa là gì?
Trả lời
DEFERRABLE
KHÔNG DEFERRABLE
này điều khiển cho dù các hạn chế có thể được hoãn lại. Một ràng buộc mà không phải là trì hoãn sẽ được kiểm tra ngay lập tức sau mỗi lệnh. Việc kiểm tra các ràng buộc có thể trì hoãn có thể bị trì hoãn cho đến khi kết thúc giao dịch (sử dụng lệnh SET CONSTRAINTS). NOT DEFERRABLE là mặc định. Chỉ có các ràng buộc khóa ngoài hiện đang chấp nhận điều khoản này. Tất cả các loại ràng buộc khác không bị trì hoãn.
[Nguồn] http://www.postgresql.org/docs/8.1/static/sql-createtable.html
Nói tóm lại, giả sử hai bảng có phụ thuộc FK cyclic. Khi chúng ta thực hiện chèn dữ liệu mà dữ liệu tham chiếu không có trong cả hai bảng và ràng buộc FK không được trì hoãn, DB sẽ ném lỗi vì có sự vi phạm ràng buộc FK. Nếu hoãn lại, việc xác thực sẽ được thực hiện tại thời điểm thực hiện giao dịch.
- 1. /([^.]*)\.(.*)/ có nghĩa là gì?
- 2. "\\. \", "\ ?? \", "\\? \", "\\" có nghĩa là gì?
- 3. {} có nghĩa là gì?
- 4. = * có nghĩa là gì?
- 5. Có nghĩa là gì?
- 6. \ u003C có nghĩa là gì?
- 7. 'ALFKI' có nghĩa là gì?
- 8. EAGAIN có nghĩa là gì?
- 9. #line có nghĩa là gì?
- 10. MEDIA_ERROR_SERVER_DIED có nghĩa là gì?
- 11. @AttributeOverride có nghĩa là gì?
- 12. "for (;;)" có nghĩa là gì?
- 13. Regex: (?! ...) có nghĩa là gì?
- 14. "javascript: //" có nghĩa là gì?
- 15. '\ 0' có nghĩa là gì?
- 16. DTMobileIS có nghĩa là gì?
- 17. 8badf00d có nghĩa là gì?
- 18. () => {} có nghĩa là gì?
- 19. HorizontalAccuracy có nghĩa là gì?
- 20. RETVAL có nghĩa là gì?
- 21. AVMediaTypeMuxed có nghĩa là gì?
- 22. __FILE__ có nghĩa là gì?
- 23. POCO có nghĩa là gì?
- 24. <? = Có nghĩa là gì?
- 25. 4j có nghĩa là gì?
- 26. I18N có nghĩa là gì?
- 27. UrlReferrer có nghĩa là gì?
- 28. Document.all có nghĩa là gì?
- 29. 'sys.argv' có nghĩa là gì?
- 30. Context có nghĩa là gì?
Đó là những gì tôi nghĩ. Cảm ơn bạn đã xóa nó. – Gregg