diff --git a/README.md b/README.md index a7bbc54c..0de1b810 100644 --- a/README.md +++ b/README.md @@ -103,6 +103,14 @@ sh ./docker-maven-build.sh (2) docker容器方式部署: +- H2做配置库部署 + +这里将宿主机的/tmp目录挂载到容器上: +``` +docker run -d --name dbswitch -e DBTYPE=h2 -v /tmp:/tmp -p 9088:9088 \ + registry.cn-hangzhou.aliyuncs.com/inrgihc/dbswitch:latest +``` + - MYSQL做配置库部署 假设已经部署好的MySQL(5.7+)数据库地址为192.168.31.57,端口为3306,账号为test,密码为123456 @@ -293,9 +301,9 @@ dbswitch.target.writer-engine-insert=true ### 2、基于conf/application.yml配置的dbswitch-admin模块启动的WEB使用方式 -#### (1)、准备一个MySQL(建议版本为: 5.7+ )或PostgreSQL(建议版本:11.7+ )或者OpenGauss(建议版本:5.0+ )的数据库 +#### (1)、如果使用默认配置的H2数据库可忽略本步骤,否则准备一个MySQL(建议版本为: 5.7+ )或PostgreSQL(建议版本:11.7+ )或者OpenGauss(建议版本:5.0+ )的数据库 -> dbswitch-admin模块后端同时支持MySQL、PostgreSQL、OpenGauss作为配置数据库。 +> dbswitch-admin模块后端同时支持H2、MySQL、PostgreSQL、OpenGauss作为配置数据库。 #### (2)、配置conf/application.yml @@ -304,9 +312,9 @@ application.yml配置内容示例如下: ``` spring: profiles: - # 配置包含使用的配置库类型(可选值:mysql或postgres),对应在application-mysql.yml或application-postgres.yml中配置数据库信息 + # 配置包含使用的配置库类型(可选值:h2或mysql或postgres),对应在application-h2.yml或application-mysql.yml或application-postgres.yml中配置数据库信息 # 如果使用OpenGauss作为配置数据库,请配置为postgres类型,dbswitch会使用postgres的jdbc驱动连接OpenGauss - include: mysql + include: h2 application: name: dbswitch-admin tomcat: diff --git a/build-docker/build_and_push_image.sh b/build-docker/build_and_push_image.sh index 1eedbabd..29ca3b18 100644 --- a/build-docker/build_and_push_image.sh +++ b/build-docker/build_and_push_image.sh @@ -32,4 +32,5 @@ cd $PROJECT_ROOT_DIR && sh docker-maven-clean.sh && cd - # push docker image docker tag inrgihc/dbswitch:${DBSWITCH_VERSION} registry.cn-hangzhou.aliyuncs.com/inrgihc/dbswitch:${DBSWITCH_VERSION} docker push registry.cn-hangzhou.aliyuncs.com/inrgihc/dbswitch:${DBSWITCH_VERSION} - +docker tag inrgihc/dbswitch:${DBSWITCH_VERSION} registry.cn-hangzhou.aliyuncs.com/inrgihc/dbswitch:latest +docker push registry.cn-hangzhou.aliyuncs.com/inrgihc/dbswitch:latest diff --git a/build-docker/dbswitch/dbswitch-release/conf/application-h2.yml b/build-docker/dbswitch/dbswitch-release/conf/application-h2.yml new file mode 100644 index 00000000..cc463820 --- /dev/null +++ b/build-docker/dbswitch/dbswitch-release/conf/application-h2.yml @@ -0,0 +1,13 @@ +spring: + datasource: + driver-class-name: org.h2.Driver + url: jdbc:h2:/tmp/dbswitch_db;MODE=MySQL;CASE_INSENSITIVE_IDENTIFIERS=TRUE;DATABASE_TO_UPPER=FALSE;DATABASE_TO_LOWER=FALSE + username: root + password: 123456 + validation-query: SELECT 1 + test-on-borrow: true + flyway: + locations: classpath:db/h2 + baseline-on-migrate: true + table: DBSWITCH_SCHEMA_HISTORY + enabled: true diff --git a/build-docker/dbswitch/dbswitch-release/conf/application.yml b/build-docker/dbswitch/dbswitch-release/conf/application.yml index a32c35ab..05013202 100644 --- a/build-docker/dbswitch/dbswitch-release/conf/application.yml +++ b/build-docker/dbswitch/dbswitch-release/conf/application.yml @@ -1,6 +1,6 @@ spring: profiles: - include: ${DBTYPE:mysql} + include: ${DBTYPE:h2} application: name: dbswitch-admin tomcat: diff --git a/dbswitch-admin/src/main/java/org/dromara/dbswitch/admin/config/DbswitchConfig.java b/dbswitch-admin/src/main/java/org/dromara/dbswitch/admin/config/DbswitchConfig.java index 80add326..e5d96193 100644 --- a/dbswitch-admin/src/main/java/org/dromara/dbswitch/admin/config/DbswitchConfig.java +++ b/dbswitch-admin/src/main/java/org/dromara/dbswitch/admin/config/DbswitchConfig.java @@ -31,6 +31,7 @@ public class DbswitchConfig { Properties props = new Properties(); props.setProperty("PostgreSQL", "postgresql"); props.setProperty("MySQL", "mysql"); + props.setProperty("H2", "h2"); databaseIdProvider.setProperties(props); return databaseIdProvider; } diff --git a/dbswitch-admin/src/main/java/org/dromara/dbswitch/admin/mapper/AssignmentJobMapper.java b/dbswitch-admin/src/main/java/org/dromara/dbswitch/admin/mapper/AssignmentJobMapper.java index ca7f0d6e..8bf6e840 100644 --- a/dbswitch-admin/src/main/java/org/dromara/dbswitch/admin/mapper/AssignmentJobMapper.java +++ b/dbswitch-admin/src/main/java/org/dromara/dbswitch/admin/mapper/AssignmentJobMapper.java @@ -22,28 +22,39 @@ public interface AssignmentJobMapper extends BaseMapper { @Select("") @Results({ diff --git a/dbswitch-admin/src/main/java/org/dromara/dbswitch/admin/mapper/JobLogbackMapper.java b/dbswitch-admin/src/main/java/org/dromara/dbswitch/admin/mapper/JobLogbackMapper.java index f260c58a..f825d888 100644 --- a/dbswitch-admin/src/main/java/org/dromara/dbswitch/admin/mapper/JobLogbackMapper.java +++ b/dbswitch-admin/src/main/java/org/dromara/dbswitch/admin/mapper/JobLogbackMapper.java @@ -18,10 +18,13 @@ public interface JobLogbackMapper extends BaseMapper { @Delete("") void deleteByDays(@Param("days") Integer days);