| 
                         对应Flyway的配置为: 
- # flyway 配置  
 - spring:  
 -   flyway:  
 -     # 启用或禁用 flyway  
 -     enabled: true  
 -     # flyway 的 clean 命令会删除指定 schema 下的所有 table, 生产务必禁掉。这个默认值是 false 理论上作为默认配置是不科学的。  
 -     clean-disabled: true  
 -     # SQL 脚本的目录,多个路径使用逗号分隔 默认值 classpath:db/migration  
 -     locations: classpath:db/migration  
 -     #  metadata 版本控制信息表 默认 flyway_schema_history  
 -     table: flyway_schema_history  
 -     # 如果没有 flyway_schema_history 这个 metadata 表, 在执行 flyway migrate 命令之前, 必须先执行 flyway baseline 命令  
 -     # 设置为 true 后 flyway 将在需要 baseline 的时候, 自动执行一次 baseline。  
 -     baseline-on-migrate: true  
 -     # 指定 baseline 的版本号,默认值为 1, 低于该版本号的 SQL 文件, migrate 时会被忽略  
 -     baseline-version: 1  
 -     # 字符编码 默认 UTF-8  
 -     encoding: UTF-8  
 -     # 是否允许不按顺序迁移 开发建议 true  生产建议 false  
 -     out-of-order: false  
 -     # 需要 flyway 管控的 schema list,这里我们配置为flyway  缺省的话, 使用spring.datasource.url 配置的那个 schema,  
 -     # 可以指定多个schema, 但仅会在第一个schema下建立 metadata 表, 也仅在第一个schema应用migration sql 脚本.  
 -     # 但flyway Clean 命令会依次在这些schema下都执行一遍. 所以 确保生产 spring.flyway.clean-disabled 为 true  
 -     schemas: flyway  
 -     # 执行迁移时是否自动调用验证   当你的 版本不符合逻辑 比如 你先执行了 DML 而没有 对应的DDL 会抛出异常  
 -     validate-on-migrate: true 
 
  
请务必仔细阅读 Flyway 相关配置的说明。 
4.3 编写 SQL 初始化脚本 
我们先编写一个初始化 SQL 文件,向 H2 数据库已经自动初始化的 schema flyway 添加一张 sys_user 表。请注意命名规则。脚本名称为 V1.0.1__Add_table_user.sql 。SQL 脚本的位置在配置的 spring.flyway.locations 下。内容为: 
- use `flyway`;  
 - CREATE TABLE `sys_user`  
 - (  
 -     `user_id`         int(10) unsigned NOT NULL AUTO_INCREMENT,  
 -     `username`        varchar(1024)    NOT NULL unique ,  
 -     `encode_password` varchar(1024)       NOT NULL,  
 -     `age`             int(3)           NOT NULL,  
 -     PRIMARY KEY (`user_id`)  
 - ) ENGINE = InnoDB  
 -   DEFAULT CHARSET = utf8mb4;  
 - insert into  flyway.sys_user values (1,'Felordcn','{noop}12345',18); 
 
                          (编辑:91站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |