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