Skip to content

切换数据库

ContiNew Admin 默认使用 MySQL 数据库,但从 v2.5.0 版本开始,我们也在逐步扩展适配更多的数据库系统,目前已初步扩展适配 PostgreSQL 数据库。

如果你有需要,只需要几步简单的调整即可完成数据库的切换,下方将以切换为 PostgreSQL 数据库环境为例进行演示。

1.首先,引入所需的数据库驱动。(根据实际需要移除 MySQL 数据库驱动)

xml
<!-- PostgreSQL Java 驱动 -->
<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
</dependency>

2.修改 application-dev.yml 中的数据源配置。(根据实际需要在部署前修改其他环境的数据源配置,例如:application-prod.yml

yaml
--- ### 数据源配置
spring.datasource:
  type: com.zaxxer.hikari.HikariDataSource
  url: jdbc:p6spy:postgresql://${DB_HOST:127.0.0.1}:${DB_PORT:5432}/${DB_NAME:continew_admin}?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&rewriteBatchedStatements=true&autoReconnect=true&maxReconnects=10&failOverReadOnly=false
  username: ${DB_USER:root}
  password: ${DB_PWD:123456}
  driver-class-name: com.p6spy.engine.spy.P6SpyDriver

3.修改 application.yml 中的 MyBatis Plus 配置。

yaml
--- ### MyBatis Plus 配置
mybatis-plus:
  ## 扩展配置
  extension:
    enabled: true
    # Mapper 接口扫描包配置
    mapper-package: ${project.base-package}.**.mapper
    # ID 生成器配置
    id-generator:
      type: COSID
    # 数据权限配置
    data-permission:
      enabled: true
    # 分页插件配置
    pagination:
      enabled: true
      db-type: POSTGRE_SQL

4.修改 db.changelog-master.yaml 文件,指定初始脚本。

yaml
databaseChangeLog:
  - include:
      file: db/changelog/postgresql/main_table.sql
  - include:
      file: db/changelog/postgresql/main_column.sql
  - include:
      file: db/changelog/postgresql/main_data.sql
  - include:
      file: db/changelog/postgresql/plugin/plugin_schedule.sql
  - include:
      file: db/changelog/postgresql/plugin/plugin_open.sql
  - include:
      file: db/changelog/postgresql/plugin/plugin_generator.sql

操作完上方步骤后即完成了数据库的切换。

温馨提示

如果在切换数据库前,你已经基于 ContiNew Admin 项目开发了部分业务代码,请自行检查相关的 SQL 代码是否使用了当前数据库的特有函数特性,并及时调整以免切换数据库后报错。