我知道这很不对劲,但我已经在谷歌上尝试过这类任务,但我什么也没找到。
目标
我正在尝试创建一个if check,基于我的Laravel环境,我将在我的本地环境和我的Heroku生产环境之间适当地设置数据库连接。
connections' => [
'mysql' => [
'driver' => 'mysql',
if(env('APP_ENV') == 'local'){
'host' => env('DB_HOST'),
'database' => env('DB_DATABASE'),
'username' => env('DB_USERNAME'),
'password' => env('DB_PASSWORD'),
'unix_socket' => env('UNIX_SOCKET'),
}else{
'host' => parse_url(getenv("DATABASE_URL"))["host"],
'database' => substr(parse_url(getenv("DATABASE_URL"))["path"], 1),
'username' => parse_url(getenv("DATABASE_URL"))["user"],
'password' => parse_url(getenv("DATABASE_URL"))["pass"],
}
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
]
],发布于 2017-02-20 22:17:53
听起来包很适合您。Laravel 4与该软件包非常相似。
您可以为您的Heroku环境创建一个config.local文件夹和一个config.production文件夹。
文件夹配置示例
config/ (production)
├── database.php
config.local/ (local)
├── database.php配置/数据库.php(生产)
...
connections' => [
'mysql' => [
'driver' => 'mysql',
'host' => 'Heroku Host',
'database' => 'Heroku Database',
'username' => 'Heroku Username',
'password' => 'Heroku Password',
'unix_socket' => 'Heroku Socket',
],
],
...本地config.local/.php(本地)
...
connections' => [
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST'),
'database' => env('DB_DATABASE'),
'username' => env('DB_USERNAME'),
'password' => env('DB_PASSWORD'),
],
],
...发布于 2017-02-20 22:33:50
您可以定义另一个连接,命名为exmaple mysql-heroku,然后在您的模型中执行protected $connection = (env('APP_ENV') == 'local') ? 'mysql' : 'mysql-heroku';。
https://stackoverflow.com/questions/42346509
复制相似问题