0

我是第一次在我的应用程序上安装迁移脚本。我想做的是使用 /config/test/database.php 下的配置来运行我的迁移安装脚本。

我在paths.php 上的条目如下

 $environments = array(
     'test' => array('http://test.*'),
     'local' => array('http://localhost.*')
);

我在 /application/config/test/database.php 上的条目

return array(
     'connections' => array(
     'mysql' => array('driver' => 'mysql',
     'host' => 'localhost',
     'database' => 'new_db',
     'username' => 'root',
     'password' => 'root',
     'charset' => 'utf8',
     'prefix' => '')
     ),
);

和 /application/config/database.php

return array(
    'connections' => array(
    'mysql' => array('driver' => 'mysql',
    'host' => 'localhost',
    'database' => 'default_db',
    'username' => 'root',
    'password' => 'root',
    'charset' => 'utf8',
    'prefix' => '')
    ),
);

每次我运行php artisan migrate:install --env=test它时,它总是安装在 /application/config/database.php 上定义的数据库上,而不是使用 /application/config/test/database.php 中的配置。

感谢有人可以帮助我解决这个问题。

4

1 回答 1

1

我自己想通了。我不确定这是否已在 Laravel 中针对多种环境进行了记录。path.php 上的环境定义需要一个附加参数

$environments = array(
     'test' => array('http://test.*','MY_COMPUTER_NAME'),
     'local' => array('http://localhost.*')
);

现在,php artisan migrate:install --env=test正确运行会在 /application/config/test/database.php 上定义的数据库配置上执行迁移脚本。

希望这对其他人有帮助

于 2013-04-12T11:38:46.563 回答