我刚刚开始使用Laravel,我在工匠和迁移方面遇到了麻烦.
我使用以下方法创建迁移:PHP artisan migrate:make create_clubs_table.然后我可以创建一个db模式.
但是当我使用上面的命令更改架构并创建新的迁移时,我收到以下错误:
PHP Fatal error: Cannot redeclare class CreateClubsTable in /var/www/clubb/app/database/migrations/2013_10_16_202121_create_clubs_table.PHP on line 43
现在,我知道这是因为我现在有两个具有相同类名的迁移,但这不是迁移的想法,还是我误解了文档?我应该删除旧的迁移吗?
解决方法:
我想你错了.您不应该使用迁移创建两次表.如果由于某种原因必须(例如:您在创建表后有一个删除表的迁移),那么您可以将其命名为recreate_clubs_table或create_clubs_table_again.
如果您只想再次创建它并且在使用迁移创建它之后没有其他迁移可以更改该表,您可以使用PHP artisan tinker –env = local手动运行它(如果您不在,则仅需要env生产).执行修补程序命令后,您可以运行(new CreateClubsTable) – > down();接着是(new CreateClubsTable) – > up();.这将为特定类运行迁移.