我已经了解了如何从现有模式生成changelog.xml.这很好,但我有现有的系统,我不想触及,除了引入新的变化.我还有全新的系统,需要应用所有更改.
因此,我想让liquibase仅在现有系统上运行时执行从changeset X迁移.即系统的DB位于修订版X-1(但没有liquibase sys表),我不希望应用任何先前的迁移.
非常感谢,帕特
fgl*_*lez 14
我会推荐一种略有不同的方法,正如Liquibase论坛帖子中所评论的那样
从现有架构生成更改日志.liquibase CLI可以为您做到这一点.我通常采用生成的XML并稍微平滑一下(将组相关更改转换为单个更改日志,执行特定于供应商的清理等等),但Liquibase完成了大部分工作.
针对现有数据库(
changelogSync命令)运行该更改日志,但仅将其标记为已应用(不实际修改架构).使用liquibase从该点开始应用新的更改.
我认为最简单的方法是首先在空数据库上执行初始设置,然后导出 liquibase 插入表中的条目DATABASECHANGELOG。然后,我导出这些条目并将它们手动插入目标数据库之一的DATABASECHANGELOG表中,这样 liquibase 就不会再次在那里执行“更改”。
当然,我会在测试机器上使用测试转储来测试所有这些...:)
| 归档时间: |
|
| 查看次数: |
8478 次 |
| 最近记录: |