首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Liquibase场景,初始使用

Liquibase场景,初始使用
EN

Stack Overflow用户
提问于 2014-03-20 22:26:52
回答 3查看 1.2K关注 0票数 2

我有一个现有的生产数据库,和一个有一些模式差异的开发数据库。以前也没有用过利基。如何做到以下几点:

  1. 计算生产和开发之间的差异。
  2. 把三角洲应用到生产中,
  3. 最后由Liquibase控制生产(和开发)模式。
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-24 10:10:08

下面是我最后得到的结果($LIQUIBASE扩展到为我正在使用的特定DB配置的Liquibase命令行工具)。

根据生产DB的当前状态生成基准更改量:

代码语言:javascript
复制
$LIQUIBASE --url=$PROD_URL --changeLogFile=changeLog.xml generateChangeLog

将生产记录为与更改日志同步:

代码语言:javascript
复制
$LIQUIBASE --url=$PROD_URL --changeLogFile=changeLog.xml changeLogSync

计算开发和生产之间的差异,并将它们附加到更改日志文件中:

代码语言:javascript
复制
$LIQUIBASE --url=$PROD_URL --referenceUrl=$DEV_URL --changeLogFile=changeLog.xml diffChangeLog

使生产与发展同步:

代码语言:javascript
复制
$LIQUIBASE --url=$PROD_URL --changeLogFile=changeLog.xml update

将开发记录为与更改日志同步:

代码语言:javascript
复制
$LIQUIBASE --url=$DEV_URL --changeLogFile=changeLog.xml changeLogSync
票数 3
EN

Stack Overflow用户

发布于 2014-03-21 13:38:08

首先,使用generateChangelog命令为开发数据库生成一个变更量,如下所示:changelogs.html

生成changelog时,Liquibase还将创建和初始化两个数据库表(DATABASECHANGELOG和DATABASECHANGELOGLOCK),它们用于跟踪应用于数据库的更改集。

接下来,您希望对这两个数据库进行区分,并让液化库使用diffChangelog命令:http://www.liquibase.org/documentation/diff.html生成不同的变化量。

可以按原样包含diff更改日志,也可以将其复制到现有的更改日志中。如果diff命令被传递给一个现有的更改日志文件,那么新的更改集将被追加到文件的末尾。

最后,将changelog部署到生产环境中。

票数 2
EN

Stack Overflow用户

发布于 2015-12-28 11:44:36

5.3本教程的一部分回答了你的问题。

http://www.baeldung.com/liquibase-refactor-schema-of-java-app

这在java中使用maven,但我认为普通的液化基命令也可以做到。

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

https://stackoverflow.com/questions/22546475

复制
相关文章

相似问题

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