目的,为了使命名更具有语义化和可读性,方便维护
以laravel框架为例,按实际操作行为划分
- 添加 删除 修改(主要参考迁移功能,提供的api方法) 对应名称create drop modify
- 2种以上的操作行为,都算修改
- 给单一操作增加后缀,字段 column,索引 index,视图view, 存储过程 ,函数
- 命名重复情况增加版本号 v1.0.0 …
操作表
表字段,标注注释,表索引
创建表
create_xxxx_table.php
删除表
drop_xxxx_table.php
修改表
包含添加删除字段或索引或其他 ,2种以上行为
modify_xxxx_table.php
操作字段
字段名称,字段数据类型,字段注释
添加字段
create_xxxx_table_column.php
删除字段
drop_xxxx_table_column.php
修改字段
包含添加和删除和修改字段,2种以上行为
modify_xxxx_table_column.php
操作索引
操作普通索引,全文索引,空间索引等;
索引优化是业务开发中,修改频率很高的行为,所以需要单独列出来,有很多场景需要,单独的变更索引,而不修改字段
添加索引
create_xxxx_table_index.php
删除索引
drop_xxxx_table_index.php
修改索引
包含添加 删除 修改 和自定义 2种以上行为时
modify_xxxx_table_index.php
单一操作行为的规则,参考上文以此类推。
多次重复行为时增加语义化版本后缀
需要改进
比如第一次业务变更 增加了字段 create_users_table_column.php
第二次业务变更,又要对users表增加字段,则命名为 create_users_table_column_v1.0.0.php
// 转储当前数据库架构并删除所有现有迁移。。。
php artisan schema:dump --prune