2016-01-27 24 views
0

我与另一位同事共享我的Laravel项目。但他使用的是Mac,而我正在使用Windows。因此,他的database.php文件仅对Mac mamp有特定更改。我怎样才能从版本控制中忽略这个文件?我应该在根目录下的.gitignore中添加这个文件路径吗?.gitignore laravel中的数据库文件

+1

像这样的事情应该在'.env'文件,它不应该在版本控制来处理。 – ceejayoz

+0

这是在根目录的那个吗? – user1012181

+0

@ user1012181是的,存储库根目录下的那个。 – ceejayoz

回答

0

对于配置我使用.env.development.php。我的文件看起来像下面的

<?php 
    return [ 
    'ENV'    => 'development', 
    'DB_USERNAME' => 'db_dev_username', 
    'DB_PASSWORD' => 'db_password', 
    'DB_NAME'   => 'dev_db' 
]; 

在这个文件里我有我的数据库设置。然后我创建/ app/config/development文件夹。里面是我想运行的设置。我想有一个database.php中的文件在那里,它看起来像

return array(
    'connections' => array(
     'mysql' => array(
      'driver' => 'mysql', 
      'host'  => getenv('DB_HOST'), 
      'database' => getenv('DB_NAME'), 
      'username' => getenv('DB_USERNAME'), 
      'password' => getenv('DB_PASSWORD'), 
      'charset' => 'utf8', 
      'collation' => 'utf8_unicode_ci', 
      'prefix' => '', 
     ), 
    ), 
); 

/bootstrap/start.php - 它有这个里面。如果它找不到ENV的值,则默认为开发。

$env = $app->detectEnvironment(function() 
{ 
    return getenv('ENV') ?: 'development'; 
}); 

laravel应该带有.gitignore,它包含.env。*文件的一个条目,所以它不会推送它。

我的.gitignore文件看起来像这样:

/bootstrap/compiled.php 
/vendor 
composer.phar 
composer.lock 
.DS_Store 
Thumbs.db 
app/config/local 
app/config/development 
.env.*.php