UJCMS后端二次开发教程05-创建表结构

2023-08-28 17:39 阅读

UJCMS使用Liquibase作为数据库表结构版本管理工具。

Liquibase文件目录:src/main/resources/db/changelog

优缺点

通过Liquibase中立的描述语言,可以跨数据库平台创建表结构;并通过版本管理的方式,自动判断当前数据库表结构版本,自动更新表结构。免去了手动执行sql的麻烦。

不过使用Liquibase相对比较复杂和麻烦,且有一定的学习难度。一些简单的、没有跨数据库平台需求的二次开发,使用Liquibase可能反而比较低效且麻烦。

Liquibase不是非用不可。实际二次开发时,也可按传统的方式,直接通过SQL语句建表即可。

Liquibase创建表结构

src/main/resources/db/changelog/db.changelog-8.0.yaml

  - changeSet:
      id: 1691729970999-1
      author: PONY (generated)
      changes:
        - createTable:
            columns:
              - column:
                  constraints:
                    nullable: false
                    primaryKey: true
                  name: id_
                  remarks: ID
                  type: INT
              - column:
                  name: name_
                  remarks: 名称
                  type: VARCHAR(90)
              - column:
                  name: description_
                  remarks: 描述
                  type: VARCHAR(450)
              - column:
                  name: height_
                  remarks: 身高
                  type: INT
              - column:
                  name: birthday_
                  remarks: 出生日期
                  type: datetime
              - column:
                  constraints:
                    nullable: false
                  defaultValue: '1'
                  name: enabled_
                  remarks: 是否启用
                  type: CHAR(1)
            tableName: ujcms_example

SQL创建表结构

也可以直接使用SQL维护表结构,如下:

CREATE TABLE ujcms_example
(
    id_          int          NOT NULL COMMENT 'ID',
    name_        varchar(90)  NULL COMMENT '名称',
    description_ varchar(450) NULL COMMENT '描述',
    height_      int          NULL COMMENT '身高',
    birthday_    datetime     NULL COMMENT '出生日期',
    enabled_     char(1)      NOT NULL DEFAULT '1' COMMENT '是否启用',
    PRIMARY KEY (id_)
);

系统中使用ujcms_seq维护表主键ID,实际开发中,如无跨数据库平台的需求,也可考虑直接用自增主键。

参考

QQ咨询
电话
微信
微信扫码咨询