如何在 jHipster 中禁用自动 table 修改?
How to disable automatic table modification in jHipster?
我正在尝试将我的 jhipster 应用程序与自定义 mssql 数据库连接起来。现在它连接到一个新的默认 MySQL 数据库,与 liquibase 捆绑在一起,并且具有 jhipster 开箱即用的默认实体。我想做两件事:
防止 liquibase 在启动时可能 运行 的任何数据库修改脚本,例如实体创建
安全地转移到另一个数据库,其中包含旧的应用程序数据和许多自定义表,而不是 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 脚本正在 运行 启动。如果我这样做正确,请提出建议。
对于 #1,您可以通过多种方式完成,因为您同时拥有 mssql 和 MySQL:您可以使用 DatabaseConfiguration 中的 JDBC URL 或修改 Liquibase 变更日志添加 conditions on dbms 为 mssql
排除它们
对于 #2,您应该寻找现有的工具来将一个数据库引擎转换为另一个。
我正在尝试将我的 jhipster 应用程序与自定义 mssql 数据库连接起来。现在它连接到一个新的默认 MySQL 数据库,与 liquibase 捆绑在一起,并且具有 jhipster 开箱即用的默认实体。我想做两件事:
防止 liquibase 在启动时可能 运行 的任何数据库修改脚本,例如实体创建
安全地转移到另一个数据库,其中包含旧的应用程序数据和许多自定义表,而不是 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 脚本正在 运行 启动。如果我这样做正确,请提出建议。
对于 #1,您可以通过多种方式完成,因为您同时拥有 mssql 和 MySQL:您可以使用 DatabaseConfiguration 中的 JDBC URL 或修改 Liquibase 变更日志添加 conditions on dbms 为 mssql
排除它们对于 #2,您应该寻找现有的工具来将一个数据库引擎转换为另一个。