【问题标题】:How to use custom file names in Laravel migrations?如何在 Laravel 迁移中使用自定义文件名?
【发布时间】:2020-03-02 17:25:10
【问题描述】:

我希望迁移文件的名称更短。 这个项目不会有几万次的迁移,所以2019_11_05_191747_create_units_table.php比较冗长。

我想要干净的迁移文件名,例如:
0001_create_users_table.php
0002_create_units_table.php

但是vendor\laravel\framework\src\Illuminate\Database\Migrations\Migrator.php 中的代码在_ 上爆炸并且不喜欢它。
Symfony\Component\Debug\Exception\FatalThrowableError : Class '' not found

如何完成这项工作?

【问题讨论】:

  • 不要! K.I.S.S
  • 你最终会编写大量代码来覆盖默认行为,这违背了“干净”的目的
  • Laravel 使用日期前缀而不是递增数字来防止您在项目中与多个开发人员一起工作时出现问题。您可以让多个开发人员在使用相同编号的不同分支上工作。
  • 顺便说一句,这已在 laravel/ideas#220 中提出并被拒绝,您可以在那里阅读以令人信服的理由说明为什么不应该这样做

标签: php laravel file migration filenames


【解决方案1】:

你不能因为你不应该改变 Laravel 主核心(出于更新兼容性的原因)

您应该使用“YYYY_MM_DD_HHMMSS_action_table_table_description.php”格式的迁移。

嗯,有一个解决方案,那就是创建一个自定义命令并执行 laravel 迁移所做的事情,但使用另一种文件格式,这对于迁移文件的名称来说是很多工作。

【讨论】:

  • can't 具有误导性,如果我们愿意,我们绝对可以这样做,但我们不应该这样做
  • 这就是为什么我说can't because {raison} 它甚至不应该,如果你想要更新,你就不能
  • 好吧,更新根本不应该影响这一点,你仍然可以在版本控制下的主应用程序中覆盖而不接触vendor文件夹,我之前在laravel-api做过这个
  • @Saly3301 基本上与我提到的解决方案相同,但在一个包中。
  • 没查,那不是包,是 Laravel 应用模板,不使用命令
猜你喜欢
  • 2022-06-29
  • 2018-06-10
  • 2018-01-10
  • 2018-03-09
  • 2023-03-26
  • 2020-09-20
  • 1970-01-01
  • 2021-01-03
  • 2022-09-29
相关资源
最近更新 更多