根據this question,使用Liquibase創建數據庫對象時保留大小寫的正確方法是在「根對象」上設置objectQuotingStrategy,這在使用XML格式時很有意義,但在使用YAML格式時不太清晰。如何使用YAML格式設置Liquibase ObjectQuotingStrategy?
有什麼辦法可以使用YAML格式爲整個更改日誌設置此屬性?
根據this question,使用Liquibase創建數據庫對象時保留大小寫的正確方法是在「根對象」上設置objectQuotingStrategy,這在使用XML格式時很有意義,但在使用YAML格式時不太清晰。如何使用YAML格式設置Liquibase ObjectQuotingStrategy?
有什麼辦法可以使用YAML格式爲整個更改日誌設置此屬性?
你應該能夠只是將其設置爲根databaseChangeLog節點的屬性:
databaseChangeLog:
- objectQuotingStrategy: QUOTE_ALL_OBJECTS
- changeSet:
id: 1
author: nvoxland
changes:
但是,它看起來像有在3.2.x中,防止它在databaseChangeLog被解析錯誤水平。我創建了https://liquibase.jira.com/browse/CORE-1989並修復了3.2.x分支中的錯誤。
現在,你必須把它放在了變更級別:
databaseChangeLog:
- changeSet:
id: 1
author: nvoxland
objectQuotingStrategy: QUOTE_ALL_OBJECTS
changes:
- createTable:
.....
除了這是無效的YAML這一事實,即使通過糾正該錯誤,它也不起作用。 –
在進一步的研究中,它確實看起來像3.2.2中的一個bug。我更新了答案並修正了YAML。 –
謝謝,我欣賞快速週轉! –
大小寫表和列名導致疼痛在我的經驗痛苦....絕對有把握你需要這個?使用XML更改集可能是阻力最小的路徑。 –
我完全同意區分大小寫,可悲的是數據庫是遺留的;遷移將用於測試dbs進行驗證。至於XML,我寧願不使用它,並強烈地感覺到,如果YAML是受支持的格式,它應該支持所有的功能。 –