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也会成批回滚,所以如果您运行回滚,它只会回滚最新的批处理..很高兴它能帮上忙是的,表是手动创建的,我想它可能已经迁移了,因为我正在处理现有的项目