Explorar el Código

DataUpgrade updates.

deason hace 3 meses
padre
commit
ead917c5c8

+ 34 - 0
data-upgrade-demo/src/main/java/com/qmth/boot/data/upgrade/demo/service/DataInit_1.java

@@ -0,0 +1,34 @@
+package com.qmth.boot.data.upgrade.demo.service;
+
+import com.qmth.boot.data.upgrade.service.DataInitService;
+import com.qmth.boot.data.upgrade.utils.ResourceFileHelper;
+import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.jdbc.core.JdbcTemplate;
+
+public class DataInit_1 implements DataInitService {
+
+    private static final Logger log = LoggerFactory.getLogger(DataInit_1.class);
+
+    @Override
+    public void process(JdbcTemplate jdbcTemplate) throws Exception {
+        log.info("process...");
+
+        String[] sqlList = StringUtils.split(ResourceFileHelper.readContent("install/init.sql"), ";");
+        if (ArrayUtils.isEmpty(sqlList)) {
+            return;
+        }
+
+        for (String sql : sqlList) {
+            if (StringUtils.isBlank(sql)) {
+                continue;
+            }
+
+            log.info(sql);
+            jdbcTemplate.execute(sql);
+        }
+    }
+
+}

+ 12 - 0
data-upgrade-demo/src/main/java/com/qmth/boot/data/upgrade/demo/service/DataInit_2.java

@@ -0,0 +1,12 @@
+package com.qmth.boot.data.upgrade.demo.service;
+
+// public class DataInit_2 implements DataInitService {
+//
+//     private static final Logger log = LoggerFactory.getLogger(DataInit_2.class);
+//
+//     @Override
+//     public void process(JdbcTemplate jdbcTemplate) throws Exception {
+//         log.info("process...");
+//     }
+//
+// }

+ 1 - 3
data-upgrade-demo/src/main/java/com/qmth/boot/data/upgrade/demo/service/DataUpgrade_1_0_1.java

@@ -1,11 +1,9 @@
 package com.qmth.boot.data.upgrade.demo.service;
 
-import com.qmth.boot.data.upgrade.annotation.DataUpgradeVersion;
 import com.qmth.boot.data.upgrade.service.DataUpgradeService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.transaction.support.TransactionTemplate;
 
 // @DataUpgradeVersion("1.0.1")
 public class DataUpgrade_1_0_1 implements DataUpgradeService {
@@ -13,7 +11,7 @@ public class DataUpgrade_1_0_1 implements DataUpgradeService {
     private static final Logger log = LoggerFactory.getLogger(DataUpgrade_1_0_1.class);
 
     @Override
-    public void process(JdbcTemplate jdbcTemplate, TransactionTemplate transactionTemplate) throws Exception {
+    public void process(JdbcTemplate jdbcTemplate) throws Exception {
         log.info("process...");
     }
 

+ 1 - 2
data-upgrade-demo/src/main/java/com/qmth/boot/data/upgrade/demo/service/DataUpgrade_1_0_3.java

@@ -5,7 +5,6 @@ import com.qmth.boot.data.upgrade.service.DataUpgradeService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.transaction.support.TransactionTemplate;
 
 @DataUpgradeVersion("1.0.3")
 public class DataUpgrade_1_0_3 implements DataUpgradeService {
@@ -13,7 +12,7 @@ public class DataUpgrade_1_0_3 implements DataUpgradeService {
     private static final Logger log = LoggerFactory.getLogger(DataUpgrade_1_0_3.class);
 
     @Override
-    public void process(JdbcTemplate jdbcTemplate, TransactionTemplate transactionTemplate) throws Exception {
+    public void process(JdbcTemplate jdbcTemplate) throws Exception {
         log.info("process...");
     }
 

+ 9 - 24
data-upgrade-demo/src/main/java/com/qmth/boot/data/upgrade/demo/service/DataUpgrade_1_0_5.java

@@ -8,17 +8,14 @@ import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.transaction.TransactionStatus;
-import org.springframework.transaction.support.TransactionCallbackWithoutResult;
-import org.springframework.transaction.support.TransactionTemplate;
 
-// @DataUpgradeVersion("1.0.5")
+@DataUpgradeVersion("1.0.5")
 public class DataUpgrade_1_0_5 implements DataUpgradeService {
 
     private static final Logger log = LoggerFactory.getLogger(DataUpgrade_1_0_5.class);
 
     @Override
-    public void process(JdbcTemplate jdbcTemplate, TransactionTemplate transactionTemplate) throws Exception {
+    public void process(JdbcTemplate jdbcTemplate) throws Exception {
         log.info("process...");
 
         String[] sqlList = StringUtils.split(ResourceFileHelper.readContent("upgrade/1.0.5.sql"), ";");
@@ -26,26 +23,14 @@ public class DataUpgrade_1_0_5 implements DataUpgradeService {
             return;
         }
 
-        transactionTemplate.execute(new TransactionCallbackWithoutResult() {
-            @Override
-            protected void doInTransactionWithoutResult(TransactionStatus status) {
-                try {
-                    for (String sql : sqlList) {
-                        if (StringUtils.isBlank(sql)) {
-                            continue;
-                        }
-
-                        log.info(sql);
-                        jdbcTemplate.execute(sql);
-                    }
-                } catch (Exception e) {
-                    // DML-SQL语句支持事务‌,执行失败时触发自动回滚。
-                    status.setRollbackOnly();
-                    // DDL-SQL语句不支持事务‌,执行失败时请采用其它补偿机制回滚!!!
-                    throw new RuntimeException("SQL语句执行异常!", e);
-                }
+        for (String sql : sqlList) {
+            if (StringUtils.isBlank(sql)) {
+                continue;
             }
-        });
+
+            log.info(sql);
+            jdbcTemplate.execute(sql);
+        }
     }
 
 }

+ 9 - 2
data-upgrade-demo/src/main/resources/application.properties

@@ -1,10 +1,17 @@
 server.port=8899
-#com.qmth.data.upgrade.base-package=com.qmth.xxx
-com.qmth.solar.app-version=1.0.5
+# data upgrade config
+#com.qmth.data.upgrade.enable=false
+#com.qmth.data.upgrade.first-install=true
+#com.qmth.data.upgrade.base-package=com.qmth
+#com.qmth.data.upgrade.super-username=root
+#com.qmth.data.upgrade.super-password=Qmth$xxxx
 # db config
 com.qmth.datasource.url=jdbc:mysql://192.168.10.30:3306/qmth_boot_demo?useUnicode=true&characterEncoding=UTF-8&rewriteBatchedStatements=true
 com.qmth.datasource.username=qmth_boot_demo
 com.qmth.datasource.password=qmth_boot_demo_123
+# solar config
+com.qmth.solar.app-code=demo
+com.qmth.solar.app-version=1.0.5
 # logger config
 com.qmth.logging.file-path=logs/demo.log
 com.qmth.logging.root-level=info

+ 1 - 0
data-upgrade-demo/src/main/resources/install/init.sql

@@ -0,0 +1 @@
+select 1;

+ 1 - 0
data-upgrade-demo/src/main/resources/upgrade/1.0.3.sql

@@ -0,0 +1 @@
+select 1;