Commit 32be92c6f3ddac8a4599781ca0259e7dcd6e2be9

Authored by YunaiV
1 parent 8427159d

增加多环境的配置

bin/deploy.sh 0 → 100644
  1 +#!/bin/bash
  2 +set -e
  3 +
  4 +# 基础
  5 +# export JAVA_HOME=/work/programs/jdk/jdk1.8.0_181
  6 +# export PATH=PATH=$PATH:$JAVA_HOME/bin
  7 +# export CLASSPATH=$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  8 +
  9 +DATE=$(date +%Y%m%d%H%M)
  10 +# 基础路径
  11 +BASE_PATH=/work/projects/dashboard
  12 +# 编译后 jar 的地址。部署时,Jenkins 会上传 jar 包到该目录下
  13 +SOURCE_PATH=$BASE_PATH/build
  14 +# 服务名称。同时约定部署服务的 jar 包名字也为它。
  15 +SERVER_NAME=dashboard
  16 +# 环境
  17 +PROFILES_ACTIVE=dev
  18 +# 健康检查 URL
  19 +HEALTH_CHECK_URL=http://127.0.0.1:48080/actuator/health/
  20 +
  21 +# heapError 存放路径
  22 +HEAP_ERROR_PATH=$BASE_PATH/heapError
  23 +# JVM 参数
  24 +JAVA_OPS="-Xms512m -Xmx512m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$HEAP_ERROR_PATH"
  25 +
  26 +# SkyWalking Agent 配置
  27 +export SW_AGENT_NAME=$SERVER_NAME
  28 +export SW_AGENT_COLLECTOR_BACKEND_SERVICES=192.168.0.84:11800
  29 +export JAVA_AGENT=-javaagent:/work/skywalking/apache-skywalking-apm-bin/agent/skywalking-agent.jar
  30 +
  31 +# 备份
  32 +function backup() {
  33 + # 如果不存在,则无需备份
  34 + if [ ! -f "$BASE_PATH/$SERVER_NAME.jar" ]; then
  35 + echo "[backup] $BASE_PATH/$SERVER_NAME.jar 不存在,跳过备份"
  36 + # 如果存在,则备份到 backup 目录下,使用时间作为后缀
  37 + else
  38 + echo "[backup] 开始备份 $SERVER_NAME ..."
  39 + cp $BASE_PATH/$SERVER_NAME.jar $BASE_PATH/backup/$SERVER_NAME-$DATE.jar
  40 + echo "[backup] 备份 $SERVER_NAME 完成"
  41 + fi
  42 +}
  43 +
  44 +# 最新构建代码 移动到项目环境
  45 +function transfer() {
  46 + echo "[transfer] 开始转移 $SERVER_NAME.jar"
  47 +
  48 + # 删除原 jar 包
  49 + if [ ! -f "$BASE_PATH/$SERVER_NAME.jar" ]; then
  50 + echo "[transfer] $BASE_PATH/$SERVER_NAME.jar 不存在,跳过删除"
  51 + else
  52 + echo "[transfer] 移除 $BASE_PATH/$SERVER_NAME.jar 完成"
  53 + rm $BASE_PATH/$SERVER_NAME.jar
  54 + fi
  55 +
  56 + # 复制新 jar 包
  57 + echo "[transfer] 从 $SOURCE_PATH 中获取 $SERVER_NAME.jar 并迁移至 $BASE_PATH ...."
  58 + cp $SOURCE_PATH/$SERVER_NAME.jar $BASE_PATH
  59 +
  60 + echo "[transfer] 转移 $SERVER_NAME.jar 完成"
  61 +}
  62 +
  63 +# 停止
  64 +function stop() {
  65 + echo "[stop] 开始停止 $BASE_PATH/$SERVER_NAME"
  66 + PID=$(ps -ef | grep $BASE_PATH/$SERVER_NAME | grep -v "grep" | awk '{print $2}')
  67 + # 如果 Java 服务启动中,则进行关闭
  68 + if [ -n "$PID" ]; then
  69 + # 正常关闭
  70 + echo "[stop] $BASE_PATH/$SERVER_NAME 运行中,开始 kill [$PID]"
  71 + kill -15 $PID
  72 + # 等待最大 60 秒,直到关闭完成。
  73 + for ((i = 0; i < 60; i++))
  74 + do
  75 + sleep 1
  76 + PID=$(ps -ef | grep $BASE_PATH/$SERVER_NAME | grep -v "grep" | awk '{print $2}')
  77 + if [ -n "$PID" ]; then
  78 + echo -e ".\c"
  79 + else
  80 + echo '[stop] 停止 $BASE_PATH/$SERVER_NAME 成功'
  81 + break
  82 + fi
  83 + done
  84 +
  85 + # 如果正常关闭失败,那么进行强制 kill -9 进行关闭
  86 + if [ -n "$PID" ]; then
  87 + echo "[stop] $BASE_PATH/$SERVER_NAME 失败,强制 kill -9 $PID"
  88 + kill -9 $PID
  89 + fi
  90 + # 如果 Java 服务未启动,则无需关闭
  91 + else
  92 + echo "[stop] $BASE_PATH/$SERVER_NAME 未启动,无需停止"
  93 + fi
  94 +}
  95 +
  96 +# 启动
  97 +function start() {
  98 + # 开启启动前,打印启动参数
  99 + echo "[start] 开始启动 $BASE_PATH/$SERVER_NAME"
  100 + echo "[start] JAVA_OPS: $JAVA_OPS"
  101 + echo "[start] JAVA_AGENT: $JAVA_AGENT"
  102 + echo "[start] PROFILES: $PROFILES_ACTIVE"
  103 +
  104 + # 开始启动
  105 + BUILD_ID=dontKillMe nohup java -server $JAVA_OPS $JAVA_AGENT -jar $BASE_PATH/$SERVER_NAME.jar --spring.profiles.active=$PROFILES_ACTIVE &
  106 + echo "[start] 启动 $BASE_PATH/$SERVER_NAME 完成"
  107 +}
  108 +
  109 +# 健康检查
  110 +function healthCheck() {
  111 + # 如果配置健康检查,则进行健康检查
  112 + if [ -n "$HEALTH_CHECK_URL" ]; then
  113 + # 健康检查最大 60 秒,直到健康检查通过
  114 + echo "[healthCheck] 开始通过 $HEALTH_CHECK_URL 地址,进行健康检查";
  115 + for ((i = 0; i < 60; i++))
  116 + do
  117 + # 请求健康检查地址,只获取状态码。
  118 + result=`curl -I -m 10 -o /dev/null -s -w %{http_code} $HEALTH_CHECK_URL || echo "000"`
  119 + # 如果状态码为 200,则说明健康检查通过
  120 + if [ "$result" == "200" ]; then
  121 + echo "[healthCheck] 健康检查通过";
  122 + break
  123 + # 如果状态码非 200,则说明未通过。sleep 1 秒后,继续重试
  124 + else
  125 + echo -e ".\c"
  126 + sleep 1
  127 + fi
  128 + done
  129 +
  130 + # 健康检查未通过,则异常退出 shell 脚本,不继续部署。
  131 + if [ ! "$result" == "200" ]; then
  132 + echo "[healthCheck] 健康检查不通过,可能部署失败。查看日志,自行判断是否启动成功";
  133 + tail -n 10 nohup.out
  134 + exit 1;
  135 + # 健康检查通过,打印最后 10 行日志,可能部署的人想看下日志。
  136 + else
  137 + tail -n 10 nohup.out
  138 + fi
  139 + # 如果未配置健康检查,则 slepp 60 秒,人工看日志是否部署成功。
  140 + else
  141 + echo "[healthCheck] HEALTH_CHECK_URL 未配置,开始 sleep 60 秒";
  142 + sleep 60
  143 + echo "[healthCheck] sleep 60 秒完成,查看日志,自行判断是否启动成功";
  144 + tail -n 50 nohup.out
  145 + fi
  146 +}
  147 +
  148 +# 部署
  149 +function deploy() {
  150 + cd $BASE_PATH
  151 + # 备份原 jar
  152 + backup
  153 + # 停止 Java 服务
  154 + stop
  155 + # 部署新 jar
  156 + transfer
  157 + # 启动 Java 服务
  158 + start
  159 + # 健康检查
  160 + healthCheck
  161 +}
  162 +
  163 +deploy
... ...
ruoyi-ui/vue.config.js
... ... @@ -34,7 +34,7 @@ module.exports = {
34 34 proxy: {
35 35 // detail: https://cli.vuejs.org/config/#devserver-proxy
36 36 [process.env.VUE_APP_BASE_API]: {
37   - target: `http://localhost:8080`,
  37 + target: `http://localhost:48080`,
38 38 changeOrigin: true,
39 39 pathRewrite: {
40 40 ['^' + process.env.VUE_APP_BASE_API]: ''
... ...
src/main/resources/application-dev.yaml 0 → 100644
  1 +server:
  2 + port: 48080
  3 +
  4 +--- #################### 数据库相关配置 ####################
  5 +
  6 +spring:
  7 + # 数据源配置项 TODO 多数据源;TODO 监控配置
  8 + datasource:
  9 + name: ruoyi-vue-pro
  10 + url: jdbc:mysql://400-infra.server.iocoder.cn:3306/${spring.datasource.name}?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT
  11 + driver-class-name: com.mysql.jdbc.Driver
  12 + username: root
  13 + password: 3WLiVUBEwTbvAfsh
  14 +
  15 + # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
  16 + redis:
  17 + host: 400-infra.server.iocoder.cn # 地址
  18 + port: 6379 # 端口
  19 + database: 1 # 数据库索引
  20 +
  21 +--- #################### 定时任务相关配置 ####################
  22 +
  23 +# Quartz 配置项,对应 QuartzProperties 配置类
  24 +spring:
  25 + quartz:
  26 + scheduler-name: schedulerName # Scheduler 名字。默认为 schedulerName
  27 + job-store-type: jdbc # Job 存储器类型。默认为 memory 表示内存,可选 jdbc 使用数据库。
  28 + wait-for-jobs-to-complete-on-shutdown: true # 应用关闭时,是否等待定时任务执行完成。默认为 false ,建议设置为 true
  29 + properties: # 添加 Quartz Scheduler 附加属性,更多可以看 http://www.quartz-scheduler.org/documentation/2.4.0-SNAPSHOT/configuration.html 文档
  30 + org:
  31 + quartz:
  32 + # Scheduler 相关配置
  33 + scheduler:
  34 + instanceName: schedulerName
  35 + instanceId: AUTO # 自动生成 instance ID
  36 + # JobStore 相关配置
  37 + jobStore:
  38 + class: org.quartz.impl.jdbcjobstore.JobStoreTX # JobStore 实现类
  39 + isClustered: true # 是集群模式
  40 + clusterCheckinInterval: 15000 # 集群检查频率,单位:毫秒。默认为 15000,即 15 秒
  41 + misfireThreshold: 60000 # misfire 阀值,单位:毫秒。
  42 + # 线程池相关配置
  43 + threadPool:
  44 + threadCount: 25 # 线程池大小。默认为 10 。
  45 + threadPriority: 5 # 线程优先级
  46 + class: org.quartz.simpl.SimpleThreadPool # 线程池类型
  47 + jdbc: # 使用 JDBC 的 JobStore 的时候,JDBC 的配置
  48 + initialize-schema: NEVER # 是否自动使用 SQL 初始化 Quartz 表结构。这里设置成 never ,我们手动创建表结构。
  49 +
  50 +--- #################### 配置中心相关配置 ####################
  51 +
  52 +# Apollo 配置中心
  53 +apollo:
  54 + bootstrap:
  55 + enabled: true # 设置 Apollo 在启动阶段生效
  56 + eagerLoad:
  57 + enabled: true # 设置 Apollo 在日志初始化前生效,可以实现日志的动态级别配置
  58 + jdbc: # 自定义的 JDBC 配置项,用于数据库的地址
  59 + url: ${spring.datasource.url}
  60 + username: ${spring.datasource.username}
  61 + password: ${spring.datasource.password}
  62 +
  63 +--- #################### 监控相关配置 ####################
  64 +
  65 +# Actuator 监控端点的配置项
  66 +management:
  67 + endpoints:
  68 + web:
  69 + exposure:
  70 + include: '*' # 需要开放的端点。默认值只打开 health 和 info 两个端点。通过设置 * ,可以开放所有端点。
  71 +
  72 +# Spring Boot Admin 配置项
  73 +spring:
  74 + boot:
  75 + admin:
  76 + # Spring Boot Admin Client 客户端的相关配置
  77 + client:
  78 + url: http://127.0.0.1:8080/${spring.boot.admin.context-path} # 设置 Spring Boot Admin Server 地址
  79 + # Spring Boot Admin Server 服务端的相关配置
  80 + context-path: /admin # 配置 Spring
  81 +
  82 +--- #################### 芋道相关配置 ####################
  83 +
  84 +# 芋道配置项,设置当前项目所有自定义的配置
  85 +yudao:
  86 + info:
  87 + version: 1.0.0
  88 + base-package: cn.iocoder.dashboard
  89 + web:
  90 + api-prefix: /api
  91 + controller-package: ${yudao.info.base-package}
  92 + security:
  93 + token-header: Authorization
  94 + token-secret: abcdefghijklmnopqrstuvwxyz
  95 + token-timeout: 1d
  96 + session-timeout: 30m
  97 + mock-enable: true
  98 + mock-secret: test
  99 + swagger:
  100 + title: 管理后台
  101 + description: 提供管理员管理的所有功能
  102 + version: ${yudao.info.base-package}
  103 + base-package: ${yudao.info.base-package}.modules
  104 + captcha:
  105 + timeout: 5m
  106 + width: 160
  107 + height: 60
  108 + file:
  109 + base-path: http://127.0.0.1:${server.port}/${yudao.web.api-prefix}/file/get/
  110 + codegen:
  111 + base-package: ${yudao.info.base-package}.modules
  112 + db-schemas: ${spring.datasource.name}
... ...
src/main/resources/application-local.yaml 0 → 100644
  1 +server:
  2 + port: 48080
  3 +
  4 +--- #################### 数据库相关配置 ####################
  5 +
  6 +spring:
  7 + # 数据源配置项 TODO 多数据源;TODO 监控配置
  8 + datasource:
  9 + name: ruoyi-vue-pro
  10 + url: jdbc:mysql://127.0.1:33061/${spring.datasource.name}?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT
  11 + driver-class-name: com.mysql.jdbc.Driver
  12 + username: root
  13 + password: 123456
  14 +
  15 + # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
  16 + redis:
  17 + host: 127.0.0.1 # 地址
  18 + port: 6379 # 端口
  19 + database: 0 # 数据库索引
  20 +
  21 +--- #################### 定时任务相关配置 ####################
  22 +
  23 +# Quartz 配置项,对应 QuartzProperties 配置类
  24 +spring:
  25 + quartz:
  26 + scheduler-name: schedulerName # Scheduler 名字。默认为 schedulerName
  27 + job-store-type: jdbc # Job 存储器类型。默认为 memory 表示内存,可选 jdbc 使用数据库。
  28 + wait-for-jobs-to-complete-on-shutdown: true # 应用关闭时,是否等待定时任务执行完成。默认为 false ,建议设置为 true
  29 + properties: # 添加 Quartz Scheduler 附加属性,更多可以看 http://www.quartz-scheduler.org/documentation/2.4.0-SNAPSHOT/configuration.html 文档
  30 + org:
  31 + quartz:
  32 + # Scheduler 相关配置
  33 + scheduler:
  34 + instanceName: schedulerName
  35 + instanceId: AUTO # 自动生成 instance ID
  36 + # JobStore 相关配置
  37 + jobStore:
  38 + class: org.quartz.impl.jdbcjobstore.JobStoreTX # JobStore 实现类
  39 + isClustered: true # 是集群模式
  40 + clusterCheckinInterval: 15000 # 集群检查频率,单位:毫秒。默认为 15000,即 15 秒
  41 + misfireThreshold: 60000 # misfire 阀值,单位:毫秒。
  42 + # 线程池相关配置
  43 + threadPool:
  44 + threadCount: 25 # 线程池大小。默认为 10 。
  45 + threadPriority: 5 # 线程优先级
  46 + class: org.quartz.simpl.SimpleThreadPool # 线程池类型
  47 + jdbc: # 使用 JDBC 的 JobStore 的时候,JDBC 的配置
  48 + initialize-schema: NEVER # 是否自动使用 SQL 初始化 Quartz 表结构。这里设置成 never ,我们手动创建表结构。
  49 +
  50 +--- #################### 配置中心相关配置 ####################
  51 +
  52 +# Apollo 配置中心
  53 +apollo:
  54 + bootstrap:
  55 + enabled: true # 设置 Apollo 在启动阶段生效
  56 + eagerLoad:
  57 + enabled: true # 设置 Apollo 在日志初始化前生效,可以实现日志的动态级别配置
  58 + jdbc: # 自定义的 JDBC 配置项,用于数据库的地址
  59 + url: ${spring.datasource.url}
  60 + username: ${spring.datasource.username}
  61 + password: ${spring.datasource.password}
  62 +
  63 +--- #################### 监控相关配置 ####################
  64 +
  65 +# Actuator 监控端点的配置项
  66 +management:
  67 + endpoints:
  68 + web:
  69 + exposure:
  70 + include: '*' # 需要开放的端点。默认值只打开 health 和 info 两个端点。通过设置 * ,可以开放所有端点。
  71 +
  72 +# Spring Boot Admin 配置项
  73 +spring:
  74 + boot:
  75 + admin:
  76 + # Spring Boot Admin Client 客户端的相关配置
  77 + client:
  78 + url: http://127.0.0.1:8080/${spring.boot.admin.context-path} # 设置 Spring Boot Admin Server 地址
  79 + # Spring Boot Admin Server 服务端的相关配置
  80 + context-path: /admin # 配置 Spring
  81 +
  82 +--- #################### 芋道相关配置 ####################
  83 +
  84 +# 芋道配置项,设置当前项目所有自定义的配置
  85 +yudao:
  86 + info:
  87 + version: 1.0.0
  88 + base-package: cn.iocoder.dashboard
  89 + web:
  90 + api-prefix: /api
  91 + controller-package: ${yudao.info.base-package}
  92 + security:
  93 + token-header: Authorization
  94 + token-secret: abcdefghijklmnopqrstuvwxyz
  95 + token-timeout: 1d
  96 + session-timeout: 30m
  97 + mock-enable: true
  98 + mock-secret: test
  99 + swagger:
  100 + title: 管理后台
  101 + description: 提供管理员管理的所有功能
  102 + version: ${yudao.info.base-package}
  103 + base-package: ${yudao.info.base-package}.modules
  104 + captcha:
  105 + timeout: 5m
  106 + width: 160
  107 + height: 60
  108 + file:
  109 + base-path: http://127.0.0.1:${server.port}/${yudao.web.api-prefix}/file/get/
  110 + codegen:
  111 + base-package: ${yudao.info.base-package}.modules
  112 + db-schemas: ${spring.datasource.name}
... ...
src/main/resources/application.yaml
... ... @@ -2,6 +2,9 @@ spring:
2 2 application:
3 3 name: dashboard
4 4  
  5 + profiles:
  6 + active: dev
  7 +
5 8 # Servlet 配置
6 9 servlet:
7 10 # 文件上传相关配置项
... ... @@ -29,113 +32,3 @@ mybatis-plus:
29 32 logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
30 33 mapper-locations: classpath*:mapper/*.xml
31 34 type-aliases-package: ${yudao.info.base-package}.modules.*.dal.dataobject
32   -
33   ---- #################### 数据库相关配置 ####################
34   -
35   -spring:
36   - # 数据源配置项 TODO 多数据源;TODO 监控配置
37   - datasource:
38   - name: ruoyi-vue-pro
39   - url: jdbc:mysql://127.0.1:33061/${spring.datasource.name}?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT
40   - driver-class-name: com.mysql.jdbc.Driver
41   - username: root
42   - password: 123456
43   -
44   - # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
45   - redis:
46   - host: 127.0.0.1 # 地址
47   - port: 6379 # 端口
48   - database: 0 # 数据库索引
49   -
50   ---- #################### 定时任务相关配置 ####################
51   -
52   -# Quartz 配置项,对应 QuartzProperties 配置类
53   -spring:
54   - quartz:
55   - scheduler-name: schedulerName # Scheduler 名字。默认为 schedulerName
56   - job-store-type: jdbc # Job 存储器类型。默认为 memory 表示内存,可选 jdbc 使用数据库。
57   - wait-for-jobs-to-complete-on-shutdown: true # 应用关闭时,是否等待定时任务执行完成。默认为 false ,建议设置为 true
58   - properties: # 添加 Quartz Scheduler 附加属性,更多可以看 http://www.quartz-scheduler.org/documentation/2.4.0-SNAPSHOT/configuration.html 文档
59   - org:
60   - quartz:
61   - # Scheduler 相关配置
62   - scheduler:
63   - instanceName: schedulerName
64   - instanceId: AUTO # 自动生成 instance ID
65   - # JobStore 相关配置
66   - jobStore:
67   - class: org.quartz.impl.jdbcjobstore.JobStoreTX # JobStore 实现类
68   - isClustered: true # 是集群模式
69   - clusterCheckinInterval: 15000 # 集群检查频率,单位:毫秒。默认为 15000,即 15 秒
70   - misfireThreshold: 60000 # misfire 阀值,单位:毫秒。
71   - # 线程池相关配置
72   - threadPool:
73   - threadCount: 25 # 线程池大小。默认为 10 。
74   - threadPriority: 5 # 线程优先级
75   - class: org.quartz.simpl.SimpleThreadPool # 线程池类型
76   - jdbc: # 使用 JDBC 的 JobStore 的时候,JDBC 的配置
77   - initialize-schema: NEVER # 是否自动使用 SQL 初始化 Quartz 表结构。这里设置成 never ,我们手动创建表结构。
78   -
79   ---- #################### 配置中心相关配置 ####################
80   -
81   -# Apollo 配置中心
82   -apollo:
83   - bootstrap:
84   - enabled: true # 设置 Apollo 在启动阶段生效
85   - eagerLoad:
86   - enabled: true # 设置 Apollo 在日志初始化前生效,可以实现日志的动态级别配置
87   - jdbc: # 自定义的 JDBC 配置项,用于数据库的地址
88   - url: ${spring.datasource.url}
89   - username: ${spring.datasource.username}
90   - password: ${spring.datasource.password}
91   -
92   ---- #################### 监控相关配置 ####################
93   -
94   -# Actuator 监控端点的配置项
95   -management:
96   - endpoints:
97   - web:
98   - exposure:
99   - include: '*' # 需要开放的端点。默认值只打开 health 和 info 两个端点。通过设置 * ,可以开放所有端点。
100   -
101   -# Spring Boot Admin 配置项
102   -spring:
103   - boot:
104   - admin:
105   - # Spring Boot Admin Client 客户端的相关配置
106   - client:
107   - url: http://127.0.0.1:8080/${spring.boot.admin.context-path} # 设置 Spring Boot Admin Server 地址
108   - # Spring Boot Admin Server 服务端的相关配置
109   - context-path: /admin # 配置 Spring
110   -
111   ---- #################### 芋道相关配置 ####################
112   -
113   -# 芋道配置项,设置当前项目所有自定义的配置
114   -yudao:
115   - info:
116   - version: 1.0.0
117   - base-package: cn.iocoder.dashboard
118   - web:
119   - api-prefix: /api
120   - controller-package: ${yudao.info.base-package}
121   - security:
122   - token-header: Authorization
123   - token-secret: abcdefghijklmnopqrstuvwxyz
124   - token-timeout: 1d
125   - session-timeout: 30m
126   - mock-enable: true
127   - mock-secret: test
128   - swagger:
129   - title: 管理后台
130   - description: 提供管理员管理的所有功能
131   - version: ${yudao.info.base-package}
132   - base-package: ${yudao.info.base-package}.modules
133   - captcha:
134   - timeout: 5m
135   - width: 160
136   - height: 60
137   - file:
138   - base-path: http://127.0.0.1:${server.port}/${yudao.web.api-prefix}/file/get/
139   - codegen:
140   - base-package: ${yudao.info.base-package}.modules
141   - db-schemas: ${spring.datasource.name}
... ...