【问题标题】:Running migration from old branch in Laravel从 Laravel 的旧分支运行迁移
【发布时间】:2020-11-10 06:29:50
【问题描述】:

我在 Laravel 项目中有一个迁移文件,该文件位于稍旧的分支上。在较新的分支中,已创建较新的迁移并在生产中运行。我在本地环境中运行了迁移,但没有在其他环境中运行。

如果我需要将此迁移推送到主分支,然后再推送到生产环境,会发生什么?我的假设是它不会运行,因为已经运行了新的迁移,但这是一个假设。

处理此类问题的最佳方法是什么?我在 Laravel 5.6 的 laravel 文档中找不到任何明确的内容。

【问题讨论】:

  • 取决于 - 如果您在本地计算机上连接到与应用程序在生产中连接的不同架构(在 .env 中定义),则迁移将运行。

标签: php laravel laravel-migrations


【解决方案1】:

我的假设是它不会运行,因为新的迁移已经运行,但这是一个假设。

Laravel 在数据库的 migrations 表中跟踪它已经运行的迁移。如果迁移在目录中并且之前没有运行过,它将在下次运行artisan migrate 时应用,无论是否已经运行了“较新”的迁移。迁移代码本身并不知道日期;它按文件名顺序运行迁移,如您所见in the relevant code.

【讨论】:

  • 这是个好消息,感谢您提供源链接!
猜你喜欢
  • 2018-03-28
  • 2016-07-23
  • 2020-10-24
  • 1970-01-01
  • 2017-12-24
  • 2012-02-03
  • 2016-10-23
  • 2015-07-06
  • 2012-09-24
相关资源
最近更新 更多