Laravel 5 如何在laravel中迁移额外的表?
我的情况是,我已经将表迁移到数据库中,现在我又创建了一个表,我也想推送它,所以我再次运行了Laravel 5 如何在laravel中迁移额外的表?,laravel-5,Laravel 5,我的情况是,我已经将表迁移到数据库中,现在我又创建了一个表,我也想推送它,所以我再次运行了php artisan migrate,但这次它抛出了一个错误,前面的表已经存在, 我不能回滚并再次迁移,因为我的其他表中有数据 那我能做什么呢,还有别的办法吗 我试过了 php artisan migrate 迁移是成批进行的,因此假设您已进行了以下迁移: 表1 表2 表3 您运行了php artisan migrate,它将在一个批下创建这些表,我们称之为batch 1 现在,假设您又为新表添加
php artisan migrate
,但这次它抛出了一个错误,前面的表已经存在,
我不能回滚并再次迁移,因为我的其他表中有数据
那我能做什么呢,还有别的办法吗
我试过了
php artisan migrate
迁移是成批进行的,因此假设您已进行了以下迁移:
- 表1
- 表2
- 表3
php artisan migrate
,它将在一个批下创建这些表,我们称之为batch 1
现在,假设您又为新表添加了一个迁移:
- 表4
php artisan migrate
时,会在内部检查状态,以查看已创建哪些新表迁移,而这些迁移不在某个批处理下
它将检查批次1,因为这是迄今为止创建的唯一批次,并将在第二个bacth下创建新表,我们称之为Batch 2
因此,它将类似于:
表1 |表2 |-->第1批
表3| 表4-->第2批 等等 所以,你一定是做了我上面列出的以外的事情 如果您在数据库中手动创建了表,然后又创建了迁移,当然
php artisan migrate
会给出表已经存在的错误,在这种情况下,您不需要运行迁移,因为您已经有了表
在任何情况下,运行:php artisan migrate:status
,这将让您知道迁移的确切状态和问题
您还可以检查数据库中的migrations
表,该表还指定了创建表的批次。是的,我想,我现在了解了它的工作原理,谢谢,我不知道批次,我运行status命令我看得很清楚,现在我知道问题tyYup也会成批回滚,所以如果您运行回滚,它只会回滚最新的批处理..很高兴它能帮上忙是的,表是手动创建的,我想它可能已经迁移了,因为我正在处理现有的项目