Laravel 迁移命名约定
Posted
技术标签:
【中文标题】Laravel 迁移命名约定【英文标题】:Laravel Migrations Naming Convention 【发布时间】:2015-07-05 23:24:50 【问题描述】:在命名 Laravel 迁移时是否应遵循命名约定或指南,或者名称是否应仅具有描述性?
另外,假设您要添加 12 列来修改一个表,那么在这种情况下,如果迁移名称是描述性的,那么迁移名称会太长,那么是否有任何指导方针可以遵循?
【问题讨论】:
【参考方案1】:它的描述性应该足以让您回顾并了解您在此迁移中对 DB 做了什么。
如果你使用 table_ 开始迁移,那么 Laravel 会添加 Schema::create
。
如果你有 to 或 from 或 in,那么 Laravel 会为你创建 Schema::table
。这让您的生活更轻松。
我通常根据功能命名迁移,例如 implement_user_roles 或 make_employee_profile_editable。
【讨论】:
我相信如果您不以带下划线的日期开始迁移,迁移会失败。【参考方案2】:确保你的模型没有使用相同的类名,它仍然有效,但为了理解,
例如,如果您正在创建,请输入 create_,或者
如果表格是相互透视的,请将其设置为 article_comment,以确保您在 5 个月后尝试更改时能够理解 :)
【讨论】:
【参考方案3】:根据\Illuminate\Database\Console\Migrations\TableGuesser
类源,猜测迁移表和存根类型有两种默认模式。
const CREATE_PATTERNS = [
'/^create_(\w+)_table$/',
'/^create_(\w+)$/',
];
const CHANGE_PATTERNS = [
'/_(to|from|in)_(\w+)_table$/',
'/_(to|from|in)_(\w+)$/',
];
【讨论】:
以上是关于Laravel 迁移命名约定的主要内容,如果未能解决你的问题,请参考以下文章