首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Liquibase创建数据库升级diff

用Liquibase创建数据库升级diff
EN

Stack Overflow用户
提问于 2015-09-30 13:28:45
回答 1查看 929关注 0票数 0

我有两个数据库模式文件,它们都是空的。假设在db.v1.sql和db.v2.sql中有一个版本1和版本2的数据库模式。

我希望创建一个diff,它将使用模式db.v1.sql将数据库更新为db.v2.sql。

利基有能力这么做吗?还有其他工具可以用Java来完成吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-30 14:33:19

是的,这是可以使用Liquibase的。

  1. 创建一个changelog.xml文件,该文件将.sql文件作为单独的更改集列出。在这个文件中,将这个文件看作'tempChangeLog.xml‘,在每个更改集中添加一个标签属性,其中包含"v1“或"v2”。
  2. 使用liquibase update将第一个标签应用于第一个数据库实例。
  3. 使用liquibase generateChangelog将sql“转换”为液化基xml更改集。这将是你的“realChangeLog.xml”
  4. 修改'realChangeLog.xml‘以向所有变更集添加"v1“标签属性。
  5. 使用liquibase update与“tempChangeLog.xml”一起将第二个标签应用于第二个数据库实例。
  6. 使用liquibase diffChangelog命令比较数据库实例1和数据库实例2,并附加对“realChangeLog.xml”的更改
  7. 再次修改'realChangeLog.xml‘,将"v2“标签添加到所有新的变更集中。

现在您将拥有一个changelog.xml,它可以用于将数据库更新为v1或v2。

将新的更改与ORM同步是一个单独的练习。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32867403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档