Skip to content

切换为数据库自增ID

ContiNew Admin 在 v2.4.0 版本之前,仅适配有 MySQL 数据库,但从此版本开始,我们开始有计划性地适配其他数据库,包括 PostgreSQL、SQL Server、Oracle 等(目前仅额外支持 PostgreSQL)。

出于兼容性考虑,我们统一将自增 ID 调整为分布式 ID,并采用了分布式 ID 解决方案 CosId,但如果你仅需要使用到 MySQL,且你的业务场景不需要使用分布式 ID,那么你可以通过如下方式将 ID 策略调整为自增 ID。

修改 ORM 自增策略

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

yaml
--- ### MyBatis Plus 配置
mybatis-plus:
  global-config:
    db-config:
      # 主键类型(默认 assign_id,表示自行赋值)
      # auto 代表使用数据库自增策略(需要在表中设置好自增约束)
      id-type: ASSIGN_ID
      id-type: AUTO
  ## 扩展配置
  extension:
    enabled: true
    # ID 生成器配置
    id-generator: 
      type: COSID

移除 CosId 组件

  1. application.yml 配置文件中的 CosId 配置移除
  2. continew-admin-common/pom.xml 中的 CosId 依赖移除
xml
<!-- CosId(通用、灵活、高性能的分布式 ID 生成器) -->
<dependency>
    <groupId>me.ahoo.cosid</groupId>
    <artifactId>cosid-spring-boot-starter</artifactId>
</dependency>
<dependency>
    <groupId>me.ahoo.cosid</groupId>
    <artifactId>cosid-spring-redis</artifactId>
</dependency>

调整 Liquibase SQL 脚本

为了便于迁移,我们提供的 MySQL 建表脚本(continew-admin-webapi/resources/db/changelog/mysql)中并未移除 AUTO_INCREMENT 约束配置,所以理论上除了示例数据删一删,你应该没有其他需要改动的。