如何在开发上使用不同的数据库而不是生产

时间:2017-08-03 09:15:22

标签: mysql laravel laravel-5 configuration phpunit

Becouse我在我的笔记本和我的destkop上开发,我也想使用sql服务器,我可以随时连接。

当我在开发环境中时,我想连接到这个,当我在制作时使用另一个。我怎样才能做到这一点?

我在config/database

中试过这个
if('env' == 'development'){ 
    $host = 'mysqlserver.alias.com'; 
    $database = 'mydb'; 
    $username = 'myuname'; 
    $password = 'mypwd'; 
} else { 
    $host = whatsintheenv; 
    $database = whatsintheenv; 
    $username = whatsintheenv; 
    $password = whatsintheenv;    
} 

3 个答案:

答案 0 :(得分:2)

这应该由您的环境配置通过.env文件处理。

如果您还没有.env个文件,请复制.env.example。在那里,您将找到这些设置:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

只需修改这些值即可连接到正确的数据库服务器。

.env文件从源代码管理中排除,因此您的笔记本和桌面可以在此文件中包含不同的内容。

答案 1 :(得分:0)

在Laravel中,您可以通过以下方式检查环境:

if (App::environment('local')) {
  // The environment is local
}

if (App::environment(['local', 'staging'])) {
   // The environment is either local OR staging...
}

答案 2 :(得分:0)

Laravel使用PHP dotenv库 - https://github.com/vlucas/phpdotenv

这意味着您需要在每台计算机上创建一个.env文件,并使用您要使用的连接。然后在您的代码中,您可以使用App:environment('ENV_VALUE')加载这些值。