【问题标题】:How can I specify which database connection Laravel uses for the migration table?如何指定 Laravel 用于迁移表的数据库连接?
【发布时间】:2014-10-15 16:12:28
【问题描述】:

我正在开发一个具有多个数据库连接的应用程序。似乎当我运行 php artisan migrate:install 时,它总是使用我在 app/config/database.php 中的默认连接创建迁移表,这并不理想。

有没有办法为迁移表本身指定不同的连接?

【问题讨论】:

    标签: laravel laravel-5 laravel-4


    【解决方案1】:

    更新

    对于任何有类似问题的人,我找到了更好的答案。

    看起来你不能从配置文件或任何东西中指定连接,但是当你从命令行运行迁移时你可以...

    php artisan migrate:install --database=NAME_OF_CONNECTION
    

    有一个警告:无论何时运行实际迁移,您还必须再次使用--database 指定数据库连接,否则它将使用默认连接重新创建迁移表。

    【讨论】:

      【解决方案2】:

      编辑:看起来您想更改迁移表的存储位置。我相信这总是使用默认值。但是,您可以指定应该在哪里创建表,如下所示:

      你可以像这样指定一个连接:

      Schema::connection('foo')->create('users', function($table)
      {
          $table->increments('id');
      });
      

      来自http://laravel.com/docs/schema

      【讨论】:

      • 是的,我想出了如何在编写迁移时指定使用哪个连接,但是我的架构有一个专用于管理类型的整个数据库,所以我想把迁移表放在那里。 ://
      • 您必须提交功能请求,然后才能更改迁移表的存储位置。
      【解决方案3】:

      在 Laravel 5.5 中,这对我有用:

      php artisan migrate --database=sqlite_testing
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-10-10
        • 2020-05-07
        • 1970-01-01
        • 2019-01-19
        • 2015-02-25
        • 2019-11-15
        • 2019-04-16
        • 1970-01-01
        相关资源
        最近更新 更多