我在地址表迁移上创建,但一个迁移已经在数据库中,它给出以下错误:
基表或视图已存在:1050 表“通知”已存在
那么,我可以运行特定的迁移吗?我如何在 Laravel 中运行?
TLDR;
“书本”:
如果已经有迁移的表并且这些表中存储了一些数据,请小心使用php artisan migrate:refresh. 您将丢失所有数据!
php artisan migrate:refresh
对于这个特定的问题,OP 已经运行了迁移,如果他想再次运行相同的迁移,那么首先他应该使用php artisan migrate:rollback. 这将撤消最后一次迁移。
php artisan migrate:rollback
然后你可以运行php artisan migrate,所有未迁移的迁移都将被迁移。
php artisan migrate
如果您创建了更多迁移并且它们尚未迁移,则要仅运行特定迁移,请使用以下命令:
php artisan migrate --path=/database/migrations/full_migration_file_name_migration.php
有时,如果出现问题并且您在迁移时遇到错误,说表已经存在,您可以手动删除migrations导致数据库出现问题的表中的特定条目并运行php artisan:migrate以重新创建表。
migrations
php artisan:migrate