数据库迁移

jmms内置集成了flyway来实现数据库迁移

配置

数据库迁移(Migration)默认是关闭的,需要通过配置属性进行打开。

修改app/config.json

{
    "db": {
        "migrate": true
    }
}

数据库模型更新

和直接使用flyway不同的是,jmms在执行数据库迁移时会首先自动创建新增加的表、字段、外键、索引等数据库对象,然后再执行迁移脚本。

jmms不会修改已有的数据库对象,也不会执行删除操作。

注意,对于不允许为null并且没有默认值的字段,jmms在执行创建字段脚本时会自动修改为null

可以认为jmms自动更新数据库默认的过程是安全的。

数据库初始化

首次执行数据库迁移时,会在数据库中自动创建表flyway_schema_history并设置初始版本为0

创建app/migration/V0_1__Init.sql(通过jmms create project创建的工程会自动创建这个文件)。

V0_1__Init.sql中编写初始化数据的SQL脚本。

数据库迭代更新

app/migration目录中按flyway的规则创建不同版本的SQL脚本文件,在启动时会按版本自动执行。

比如第二次更新可以创建app/migration/V0_2__Upgrade.sql

Bingosoft            updated 2018-07-23

results matching ""

    No results matching ""