如何为 Symfony 迁移指定名称?

mnv*_*mnv 1 php symfony

我尝试使用 Symfony 创建新的迁移:

$ php app/console doctrine:migrations:generate
Generated new migration class to "/path/to/project/app/DoctrineMigrations/Version20100621140655.php"
Run Code Online (Sandbox Code Playgroud)

但我想用 nameVersion20100621140655_MyName.php而不是Version20100621140655.php. 我怎样才能做到这一点?

编辑

链接主题:https : //github.com/doctrine/migrations/issues/487

小智 5

因为我是通过谷歌搜索来这里的,但没有一个已经发布的答案给了我直接的解决方案,所以我通过查看 GitHub 问题和 Doctrine 文档来解决这个问题。

我已经尝试了 COil 的建议答案,但我的迁移在后期检查时失败了,因为表中的versions字段migration_versions默认设置为 varchar(14)。由于名称很可能会变得更长,因此大多数情况下您都会遇到此错误。

解决方案是调整doctrine_migrations.yaml文件并添加column_length: YOUR_PREFERRED_LENGTH(在我的情况下为 60)。

doctrine_migrations:
   ...
   column_length: 60
Run Code Online (Sandbox Code Playgroud)

现在,您始终可以手动重命名迁移文件并相应地调整该文件内的类名,例如Version20100621140655_MyName.php.

class Version20100621140655_MyName extends AbstractMigration
{

}
Run Code Online (Sandbox Code Playgroud)