diff --git a/pom.xml b/pom.xml
index ccc8f138c..61a4b4ce3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -327,6 +327,13 @@
ruoyi-demo
${ruoyi-vue-plus.version}
+
+
+
+ com.ruoyi
+ ruoyi-dbu
+ ${ruoyi-vue-plus.version}
+
diff --git a/ruoyi-dbu/pom.xml b/ruoyi-dbu/pom.xml
new file mode 100644
index 000000000..4aac096af
--- /dev/null
+++ b/ruoyi-dbu/pom.xml
@@ -0,0 +1,42 @@
+
+
+
+ ruoyi-vue-plus
+ com.ruoyi
+ 4.5.0
+
+ 4.0.0
+
+ ruoyi-dbu
+
+
+ dbu模块
+
+
+
+
+ org.liquibase
+ liquibase-core
+ 4.19.1
+
+
+ com.mysql
+ mysql-connector-j
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-aop
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+
+
diff --git a/ruoyi-dbu/src/main/java/com/ruoyi/dbu/DbuApplication.java b/ruoyi-dbu/src/main/java/com/ruoyi/dbu/DbuApplication.java
new file mode 100644
index 000000000..2b0ebee44
--- /dev/null
+++ b/ruoyi-dbu/src/main/java/com/ruoyi/dbu/DbuApplication.java
@@ -0,0 +1,22 @@
+package com.ruoyi.dbu;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.context.metrics.buffering.BufferingApplicationStartup;
+
+/**
+ * 启动程序
+ *
+ * @author ruoyi
+ */
+
+@SpringBootApplication
+public class DbuApplication {
+
+ public static void main(String[] args) {
+ SpringApplication application = new SpringApplication(DbuApplication.class);
+ application.setApplicationStartup(new BufferingApplicationStartup(2048));
+ application.run(args);
+ }
+
+}
diff --git a/ruoyi-dbu/src/main/java/com/ruoyi/dbu/config/LiquibaseConfig.java b/ruoyi-dbu/src/main/java/com/ruoyi/dbu/config/LiquibaseConfig.java
new file mode 100644
index 000000000..395422a1b
--- /dev/null
+++ b/ruoyi-dbu/src/main/java/com/ruoyi/dbu/config/LiquibaseConfig.java
@@ -0,0 +1,45 @@
+package com.ruoyi.dbu.config;
+
+import liquibase.integration.spring.SpringLiquibase;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import javax.sql.DataSource;
+
+@Configuration
+public class LiquibaseConfig
+{
+ @Value("${update.module:}")
+ private String module;
+
+ @Value("${liquibase.schema:}")
+ private String liquibaseSchema;
+
+ @Bean
+ public SpringLiquibase liquibase(DataSource dataSource)
+ throws Exception
+ {
+ if (StringUtils.isEmpty(module) || module.equals("''"))
+ {
+ throw new Exception("请配置--update.module=oms/wms/admin(只可配置一个),选择需要更新的数据库");
+ }
+
+ SpringLiquibase liquibase = new SpringLiquibase();
+ liquibase.setDataSource(dataSource);
+ liquibase.setChangeLog("classpath:" + module + "/master.xml");
+ liquibase.setContexts("development,test,production");
+ liquibase.setShouldRun(true);
+ liquibase.setDatabaseChangeLogTable("ds_changelog");
+ liquibase.setDatabaseChangeLogLockTable("ds_changelog_lock");
+// liquibase.setDefaultSchema(null);
+ if (!StringUtils.isEmpty(liquibaseSchema))
+ {
+ liquibase.setLiquibaseSchema(liquibaseSchema);
+ }
+
+ return liquibase;
+ }
+
+}
diff --git a/ruoyi-dbu/src/resources/application.properties b/ruoyi-dbu/src/resources/application.properties
new file mode 100644
index 000000000..6d5d617e7
--- /dev/null
+++ b/ruoyi-dbu/src/resources/application.properties
@@ -0,0 +1,33 @@
+server.port = 9199
+
+update.module=${UPDATE_MODULE:default}
+
+liquibase.schema=${UPDATE_SCHEMA:ry-vue}
+
+spring.datasource.name=${DATASOURCE_NAME:ry-vue}
+
+spring.datasource.url=${DATASOURCE_URL:jdbc:mysql://${MYSQL_HOST:localhost}:${MYSQL_PORT:3306}/${MYSQL_DATASOURCE:ry-vue}?useUnicode=true&characterEncoding=UTF8}
+
+spring.datasource.username=${MYSQL_USER:root}
+
+spring.datasource.password=${MYSQL_PASSWORD:root}
+
+spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
+
+spring.datasource.type=com.zaxxer.hikari.HikariDataSource
+
+spring.datasource.hikari.minimum-idle=2
+
+spring.datasource.hikari.maximum-pool-size=20
+
+spring.datasource.hikari.auto-commit=true
+
+spring.datasource.hikari.idle-timeout=30000
+
+spring.datasource.hikari.pool-name=DatebookHikariCP
+
+spring.datasource.hikari.max-lifetime=1800000
+
+spring.datasource.hikari.connection-timeout=30000
+
+spring.datasource.hikari.connection-test-query=SELECT 1
diff --git a/ruoyi-dbu/src/resources/default/changelog/3.2.4.xml b/ruoyi-dbu/src/resources/default/changelog/3.2.4.xml
new file mode 100644
index 000000000..2e948904b
--- /dev/null
+++ b/ruoyi-dbu/src/resources/default/changelog/3.2.4.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/ruoyi-dbu/src/resources/default/master.xml b/ruoyi-dbu/src/resources/default/master.xml
new file mode 100644
index 000000000..91f0069ae
--- /dev/null
+++ b/ruoyi-dbu/src/resources/default/master.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+