【发布时间】:2018-04-13 03:36:28
【问题描述】:
我是 Liquibase + Hibernate 的新手。
我有一个名为 Users 的表,其中包含 {Id、FirstName、LastName、YearOfBirth、.....} 列。 我使用 Hibernate 注释为这对 {Id, LastName} 设置了一个唯一约束。
现在,我决定要更新约束,包括 FirstName 列,这意味着我希望我的唯一约束是 {Id, FirstName, LastName}。 这可以通过 Liquibase,在我现有的数据库上,通过变更集来完成吗?
我考虑过通过变更集删除旧约束,并使用另一个约束创建新约束。问题是,我不知道旧约束的名称,也不知道它后面的索引的名称。而且由于 Liquibase/Hibernate 会为约束/索引自动生成名称,我不想通过查询搜索来获取特定的约束名称。
我正在寻找更通用的解决方案,这样我就可以解决同样的未来问题。
有什么建议吗?
我正在使用 Java 8、Hibernate 5.2.10、Liquibase 3.5.2
【问题讨论】:
标签: java hibernate constraints liquibase migrate