【问题标题】:How to disable automatic table modification in jHipster?如何在 jHipster 中禁用自动表修改?
【发布时间】:2016-06-15 11:05:27
【问题描述】:

我正在尝试将我的 jhipster 应用程序与自定义 mssql 数据库连接起来。现在它连接到一个与 liquibase 绑定的新的默认 MySQL 数据库,并具有与 jhipster 一起开箱即用的默认实体。我想做两件事:

  1. 防止 liquibase 可能在启动时运行的任何数据库修改脚本,例如实体创建

  2. 安全地转移到另一个数据库,其中包含旧的应用程序数据和许多自定义表,而不是 jhipster 中默认配置的新数据库。

为了做'1',我尝试在

中执行以下操作
public class DatabaseConfiguration {

 liquibase.setDropFirst(liquibaseProperties.isDropFirst());
        if (env.acceptsProfiles(Constants.SPRING_PROFILE_NO_LIQUIBASE)) {
            liquibase.setShouldRun(false);
        } else {
            liquibaseProperties.setEnabled(false); // <<<<<< I DISABLED IT HERE
            liquibase.setShouldRun(liquibaseProperties.isEnabled());
            log.debug("Configuring Liquibase");
        }


}

但我仍然可以看到 liquibase 脚本正在启动时运行。如果我这样做是正确的,请提出建议。

【问题讨论】:

    标签: spring-boot liquibase jhipster


    【解决方案1】:

    对于 #1,您可以通过多种方式执行此操作,因为您同时拥有 mssql 和 MySQL:您可以使用 DatabaseConfiguration 中的 JDBC URL 或修改 Liquibase 更改日志以添加 conditions on dbms 以将它们排除在 mssql 中

    对于 #2,您应该寻找现有的工具来从一个数据库引擎转换到另一个。

    【讨论】:

    • 感谢#1,这正是我想要的。我还更新了我的问题 #2 以使其更清楚,从您的回答 #2 我觉得我的问题之前具有误导性。你有不同的答案吗?
    • 不确定我是否理解,但也许您可以在旧数据库上运行 Liquibase 并从中生成更改日志,然后您可以将其插入到您的 jhipster master.xml 中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-04
    • 2015-02-23
    • 2014-12-20
    • 2015-11-29
    • 2021-05-16
    • 1970-01-01
    • 2013-01-20
    相关资源
    最近更新 更多