Php Laravel 4-执行artisan:migrate时出现致命错误
我刚刚开始使用Laravel,我在artisan和迁移方面遇到了麻烦 我使用:Php Laravel 4-执行artisan:migrate时出现致命错误,php,laravel,laravel-4,Php,Laravel,Laravel 4,我刚刚开始使用Laravel,我在artisan和迁移方面遇到了麻烦 我使用: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
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
现在,我知道这是因为我现在有两个具有相同类名的迁移,但这不是迁移的想法,还是我误解了文档?我应该删除旧的迁移吗?我想你搞错了。不应使用迁移两次创建表。如果出于某种原因必须(例如:在创建表之后,有一次迁移会删除该表),则可以将其命名为
重新创建俱乐部\u table
或再次创建俱乐部\u table
如果您只想再次创建该表,并且在使用迁移创建该表后,没有其他迁移会改变该表,则可以使用
php artisan tinker--env=local
(仅当您不在生产环境中时才需要env
)手动运行该表。执行tinker
命令后,可以运行(新建CreateClubsTable)->down()代码>后接(新建CreateClubsTable)->up()代码>。这将运行特定类的迁移。谢谢。我想,因为迁移文件名有时间戳,这让我很吃惊。我认为,当我需要更改表的模式时,我会创建一个新的迁移,而旧的迁移(及其类名)将被忽略。所以,实际上,我应该修改初始迁移文件中的模式,然后运行migrate:refresh
。好的,现在这样做更有意义了。谢谢