文件命名规则
所有的文件名按照以下规则进行命名
group-[datasource]-[order]-[other].sql
其中 datasource、order、other都为可选项,group为必选项
解释
- group:文件分组,ezasse会按照分组执行,当存在多个分组时,必须指定配置项【***】
- datasource:数据节点,此处为校验节点,如果在校验行没有指定其他节点,该文件下的校验语句与代码块,都将在文件指定的数据节点执行
- order:控制多个文件的执行顺序,一般来说,表操作>字段操作>数据操作
- other:没有实际意义,可以随意填写,主要用于标记文件类型,例:
- V1-master-100-create_table.sql
- V1-master-200-change_table.sql
- V2-master-300-data.sql
使用示例
- V1.sql
- 分组为V1,没有其他属性
- 如果校验行未指定校验节点,所有校验逻辑都会在master节点进行
- 如果校验行未指定执行节点,所有SQL都会在master执行
- 顺序为最先执行
- V1-slave.sql
- 分组为V1,如果注册了一个名字为slave的数据源,那么slave就为校验节点,如果没有注册,那么slave就为other
- 如果slave节点有效,并且校验行未指定校验节点,那么校验逻辑会在slave执行,slave无效,会在master执行
- 如果校验行未指定执行节点,所有SQL都会在master执行
- 顺序为最先执行
- V1-slave-001.sql
- 适用于上面的规则定义,区别为指定了执行顺序
- V1-slave-001-data.sql
- 适用于上面的规则定义,没有任何区别
最佳实践
单数据源
resource
|-sqls
|-V1-100-table.sql # 维护所有的表创建脚本
|-V1-200-change.sql # 维护所有针对表的更新脚本
|-V1-300-data.sql # 维护所有数据
|-V1.1-100-table.sql # 维护1.1版本的所有的表创建脚本
|-V1.1-200-change.sql # 维护1.1版本的所有针对表的更新脚本
|-V1.1-300-data.sql # 维护1.1版本的所有数据