Laravel 5.5中的迁移:无法声明类,因为该名称已被使用

时间:2018-01-19 15:05:59

标签: php laravel-5 artisan

在Laravel中运行迁移时出现错误:

  

PHP致命错误:无法声明类UpdateEnquiriesTable,因为该名称已在使用中   第33行/var/www/project/database/migrations/2018_01_17_160335_update_enquiries_table.php

经过一些研究后,我发现每个迁移文件都需要一个唯一的类名(我以前不记得提到过了,但那可能就是我)。

根据另一个问题,建议是change the name of one of the classes

但是其他人建议deleting the conflicting migrations

哪个是首选?假设两者都有效。

3 个答案:

答案 0 :(得分:3)

您可以更改其中一个类名,然后在迁移表中手动更新其条目以保留数据库状态。如果删除冲突的迁移,则可能会在后续迁移和/或回滚中遇到问题,因为相关的类不再存在。

答案 1 :(得分:0)

只需删除此文件,然后重新键入迁移即可。 该表已在您的迁移表中注册,因此即使没有此文件也将创建该表

答案 2 :(得分:-1)

请尝试以下步骤:

  1. 删除所有表(清除数据库)
  2. 验证您是否真的没有重复的迁移类
  3. 验证您的所有迁移文件名是否都包含日期和时间
  4. 运行composer dumpautoload
  5. 运行php artisan migrate