如何保留旧的迁移作为参考?

时间:2015-02-06 13:41:52

标签: php laravel laravel-4

  • 我在Laravel 4中编写了 38 迁移脚本。

enter image description here

  • 想要抛弃它们,但我也想要运行它们。我只想把它们作为参考文献。
  • 如果我将它们放在Laravel中的迁移文件夹中,它将在我执行
  • 时运行

php artisan migrate这将打破我数据库的某些部分,因为它们已经运行。

  • 我想知道是否有办法将它们标记为已经运行,因此Laravel不会再尝试再次运行它们。

  • 我注意到我的数据库中的migration table - 我可以用它做点什么吗?

对于这38次迁移,我应该做的最好的方法是什么?随意给我任何建议。

1 个答案:

答案 0 :(得分:0)

你的问题有点混乱 - Laravel只会运行一次每次迁移。它会跟踪migrations表中运行的迁移。迁移的整个想法是一系列日期可排序脚本,您可以在任何时间从头开始运行并重建数据库,并且您可以添加它们而无需在它们工作时重新运行它们(因此保留了数据)< / p>

如果您正在运行

php artisan migrate

并且Laravel正在运行已经运行的迁移,系统崩溃了。

(推测如下)看起来更有可能你正在运行的最新迁移可能已经停止了一半,但MySQL无法回滚这些变化,而且Laravel&#39 ; s试图重新运行最新的那个。试试

php artisan migrate:rollback

修正中断迁移中的错误,您将全部设置完毕。