首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >针对的Liquibase RollBack?

针对的Liquibase RollBack?
EN

Stack Overflow用户
提问于 2018-12-08 16:38:56
回答 2查看 522关注 0票数 0

拥有一个应用程序和一个PostgreSQL数据库,我如何发出cmd?

代码语言:javascript
复制
mvn liquibase:rollback -Dliquibase.rollbackCount=4 -Dliquibase.password=*********

或者任何类似的,针对数据库的?注意,我所有的变更拉长都在Spring项目的资源文件夹中,并且我能够从项目的根运行上面的CMD。

这是Spring应用程序dockerfile

代码语言:javascript
复制
FROM openjdk:8-jre-alpine

ENV SPRING_OUTPUT_ANSI_ENABLED=ALWAYS \
    JAVA_OPTS=""

CMD java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /app.war

EXPOSE 8080 5701/udp

ADD *.war /app.war

这是停靠者内部的PostgreSQL服务-组合:

代码语言:javascript
复制
app-postgresql:
    image: postgres:9.6.5
    mem_limit: 256m
    environment:
        - POSTGRES_USER=${DB_USER}
        - POSTGRES_PASSWORD=${DB_PWD}

我可以登录到应用程序容器,但是没有安装任何变更文件、maven或液化库,因为所有东西都是在app.war中打包的

更新

我正在考虑对已被停靠的DB进行备份,在本地还原它,然后从项目的根运行rollback命令。最后,我会备份本地DB并在容器上还原它。

也许这是最简单的方法。但是,我希望有一种不需要移动和恢复DB的替代方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-09 21:25:14

您可以针对WAR文件运行迁移。搜索更多的这里“运行迁移器从.WAR文件中提取变更值”。因此,如果您能够在容器中执行命令,您也应该能够执行液化库。

票数 1
EN

Stack Overflow用户

发布于 2018-12-09 18:30:42

我按照我的“奇怪”想法做了这件事。

首先,我备份了一个被篡改的DB,然后将它还原到本地DB。

在本地,我能够运行rollback命令,并进行了所需的更新。

最后,我将它还原到了被篡改的DB上。

我希望别人遇到同样的麻烦会有帮助。

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

https://stackoverflow.com/questions/53684634

复制
相关文章

相似问题

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