Pārlūkot izejas kodu

feat(server): 添加对达梦数据库的支持

- 在 InitDb 类中增加了对达梦数据库的迁移支持
- 更新了 JpomServerApplication 类中的数据库迁移参数说明- 修改了 application.yml 文件中的数据库配置示例
- 更新了运行配置,将 MySQL 迁移参数改为达梦数据库迁移参数
bwcx_jzy 5 mēneši atpakaļ
vecāks
revīzija
4d82edc6b7

+ 2 - 0
modules/server/src/main/java/org/dromara/jpom/JpomServerApplication.java

@@ -61,6 +61,8 @@ public class JpomServerApplication {
      * --h2-migrate-postgresql --h2-user=jpom --h2-pass=jpom 将 h2 数据库迁移到 postgresql
      * <p>
      * --h2-migrate-mariadb --h2-user=jpom --h2-pass=jpom 将 h2 数据库迁移到 mariadb
+     * <p>
+     * --h2-migrate-dameng --h2-user=jpom --h2-pass=jpom 将 h2 数据库迁移到 dameng
      *
      * @param args 参数
      * @throws Exception 异常

+ 20 - 12
modules/server/src/main/java/org/dromara/jpom/system/db/InitDb.java

@@ -187,7 +187,7 @@ public class InitDb implements DisposableBean, ILoadEvent {
         Optional.ofNullable(listMap.get("table")).ifPresent(resources -> {
             for (Resource resource : resources) {
                 String sql = StorageTableFactory.initTable(resource);
-                if (mode.equals(DbExtConfig.Mode.DAMENG)){
+                if (mode.equals(DbExtConfig.Mode.DAMENG)) {
                     sql = sql.toUpperCase();
                 }
                 this.executeSql(sql, resource.getFilename(), mode, executeSqlLog, dataSource, eachSql);
@@ -199,7 +199,7 @@ public class InitDb implements DisposableBean, ILoadEvent {
         Optional.ofNullable(listMap.get("alter")).ifPresent(resources -> {
             for (Resource resource : resources) {
                 String sql = StorageTableFactory.initAlter(resource);
-                if (mode.equals(DbExtConfig.Mode.DAMENG)){
+                if (mode.equals(DbExtConfig.Mode.DAMENG)) {
                     sql = sql.toUpperCase();
                 }
                 this.executeSql(sql, resource.getFilename(), mode, executeSqlLog, dataSource, eachSql);
@@ -208,7 +208,7 @@ public class InitDb implements DisposableBean, ILoadEvent {
         Optional.ofNullable(listMap.get("index")).ifPresent(resources -> {
             for (Resource resource : resources) {
                 String sql = StorageTableFactory.initIndex(resource);
-                if (mode.equals(DbExtConfig.Mode.DAMENG)){
+                if (mode.equals(DbExtConfig.Mode.DAMENG)) {
                     sql = sql.toUpperCase();
                 }
                 this.executeSql(sql, resource.getFilename(), mode, executeSqlLog, dataSource, eachSql);
@@ -325,15 +325,23 @@ public class InitDb implements DisposableBean, ILoadEvent {
             });
             log.info(I18nMessageUtil.get("i18n.start_waiting_for_data_migration.e76f"));
         };
-        Opt.ofNullable(environment.getProperty("h2-migrate-mysql")).ifPresent(s -> {
-            migrateOpr.accept(DbExtConfig.Mode.MYSQL);
-        });
-        Opt.ofNullable(environment.getProperty("h2-migrate-postgresql")).ifPresent(s -> {
-            migrateOpr.accept(DbExtConfig.Mode.POSTGRESQL);
-        });
-        Opt.ofNullable(environment.getProperty("h2-migrate-mariadb")).ifPresent(s -> {
-            migrateOpr.accept(DbExtConfig.Mode.MARIADB);
-        });
+        for (DbExtConfig.Mode mode : DbExtConfig.Mode.values()) {
+            if (mode == DbExtConfig.Mode.H2) {
+                continue;
+            }
+            Opt.ofNullable(environment.getProperty("h2-migrate-" + mode.name().toLowerCase())).ifPresent(s -> {
+                migrateOpr.accept(mode);
+            });
+        }
+//        Opt.ofNullable(environment.getProperty("h2-migrate-mysql")).ifPresent(s -> {
+//            migrateOpr.accept(DbExtConfig.Mode.MYSQL);
+//        });
+//        Opt.ofNullable(environment.getProperty("h2-migrate-postgresql")).ifPresent(s -> {
+//            migrateOpr.accept(DbExtConfig.Mode.POSTGRESQL);
+//        });
+//        Opt.ofNullable(environment.getProperty("h2-migrate-mariadb")).ifPresent(s -> {
+//            migrateOpr.accept(DbExtConfig.Mode.MARIADB);
+//        });
     }
 
     private void importH2Sql(Environment environment, String importH2Sql) {

+ 1 - 1
modules/server/src/main/resources/application.yml

@@ -97,7 +97,7 @@ jpom:
     min-idle: 1
     show-sql: false
     # 表名前缀
-#    table-prefix: jpom_
+  #    table-prefix: jpom_
   # 构建相关配置s
   build:
     # 最多保存多少份历史记录