我在 MySQL 手动删除表后,运行以下命令:
php artisan migrate
我得到了这个:
Nothing to migrate.
只有第一次有效,如何在laravel中重新运行迁移?
我在 MySQL 手动删除表后,运行以下命令:
php artisan migrate
我得到了这个:
Nothing to migrate.
只有第一次有效,如何在laravel中重新运行迁移?
Laravel会记录已运行的迁移。你需要进入迁移表并删除迁移记录。这样,Laravel就可以知道哪些迁移已经运行过,以便它不会再次运行它们,并且在回滚的情况下,它知道最后一批完成的迁移。
尝试以下命令:composer dump-autoload
和 php artisan config:cache
如果这些命令不起作用,还可以尝试使用php artisan migrate:refresh
。
或者在数据库中删除 Migration 表格。
如果您手动删除一个表,那么这是预期的行为,因为之前的批量迁移作业已经被部署(在表中)。
如果您想重新迁移整个数据库,只需执行:php artisan migrate:refresh
。
如果您想确保您的数据库与最新更改保持清洁,您可以删除整个数据库表并再次执行php artisan migrate
。此外,如果您有任何种子数据,请尝试php artisan migrate --seed
。
php artisan migrate:refresh --seed
命令可以一次性删除所有表并重新执行迁移和填充。 - Dave Carruthersphp artisan migrate
这并不会重新创建所有的表格。