【问题标题】:Laravel looks for other migrationsLaravel 寻找其他迁移
【发布时间】:2015-06-23 02:37:12
【问题描述】:

我有两个 Laravel 项目。它们位于不同的文件夹中。在那之前没关系。

目前我的项目使用 Laravel 5。最后一个。

我尝试迁移一个项目。但是,我不知道它为什么要寻找另一个迁移文件。

我使用以下命令从/project1 运行以查找/project1/database/migrations

php 工匠迁移:刷新

但是,它也会像上面一样在/project1/database/migrations 中查找project2 的迁移:

肯定不存在。因为它不属于/project1。看:

那么,Laravel 如何尝试加载任何其他项目的迁移?

Ps.:我已经尝试清除 Laravel 应用程序缓存。但是,错误仍然存​​在。

【问题讨论】:

  • 项目是否共享同一个数据库?你做了转储自动加载吗?
  • @watcher 是的,我在 project1 上进行了迁移。但是,它们与 project2 无关。所以,我不需要移动它们。
  • @sleepless 你指出来了!他们使用相同的数据库。而且我注意到 Laravel 依赖于迁移数据库表。因此,它已在他们之间共享。我清除了迁移表,现在它工作正常。是否可以更改迁移表名称?

标签: php laravel laravel-5 laravel-migrations


【解决方案1】:

正如您所说,您的应用程序共享同一个数据库,因此它们共享同一个迁移表,只需转到 /config/database.php 并将其重命名为您想要的名称:

/*
    |--------------------------------------------------------------------------
    | Migration Repository Table
    |--------------------------------------------------------------------------
    |
    | This table keeps track of all the migrations that have already run for
    | your application. Using this information, we can determine which of
    | the migrations on disk haven't actually been run in the database.
    |
    */

    'migrations' => 'migrations',

【讨论】:

    【解决方案2】:

    正如评论中所指出的,您将一个数据库用于两个项目。第一个答案向您指出了如何重命名迁移表。

    如果您与两个项目共享一些表,并且每个项目仍然像自己的一样,您应该看看这个问题(和第一个答案),因为这是处理它的更好方法:

    Can I place two migration tables in different databases when using Laravel?

    【讨论】:

    • 由于您只是链接到另一个答案,您应该将其添加为评论。 ;)
    • 这类问题相当复杂,因为我已经将原始问题的答案添加为评论。您的回答也更像是对评论问题的回答。
    • @sleepless 谢谢!你帮了我很多。
    • 你指的是谁?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-08
    • 2021-11-07
    • 1970-01-01
    • 2018-03-08
    • 2014-02-28
    • 2017-01-16
    • 2019-02-07
    相关资源
    最近更新 更多