laravel - Laravel 5l 多数据库连接
问题描述
我需要在 2 个地方有我的数据库连接信息吗?如果我执行以下操作,我可以正常连接。如果我删除任一文件的数据,我将无法连接。
配置/databases.php 文件
'blah_1' => [
'driver' => 'mysql',
'host' => env('DB_HOST’,’1.1.1.1’),
'port' => env('DB_PORT','3306'),
'database' => env('DB_DATABASE’,’someDB_1’),
'username' => env('DB_USERNAME’,’someUser_1’),
'password' => env('DB_PASSWORD’,’somePass_1’),
],
'blah_2' => [
'driver' => 'mysql',
'host' => env('DB_HOST_SECOND’,’2.2.2.2’),
'port' => env('DB_PORT_SECOND','3306'),
'database' => env('DB_DATABASE_SECOND’,’someDB_2’),
'username' => env('DB_USERNAME_SECOND’,’someUser_2’),
'password' => env('DB_PASSWORD_SECOND’,’somePass_2’),
],
.env 文件:
DB_CONNECTION=blah_1
DB_HOST=1.1.1.1
DB_PORT=3306
DB_DATABASE=someDB_1
DB_USERNAME=someUser_1
DB_PASSWORD=somePass_1
DB_CONNECTION_SECOND=blah_2
DB_HOST_SECOND=2.2.2.2
DB_PORT_SECOND=3306
DB_DATABASE_SECOND=someDB_2
DB_USERNAME_SECOND=someUser_2
DB_PASSWORD_SECOND=somePass_2
解决方案
最简洁的答案是不。你只需要在你的config/databases.php
. 该.env
文件是在不更新配置文件的情况下覆盖您其他环境中的设置。
例如,在您的本地环境中,您的凭据很可能与您的生产环境不同。您不想在config/databases.php
本地更新并提醒自己不要推送文件。
但是,即使将它们从.env
文件中删除,连接仍然有效。它将使用您的第二个参数的值env()
作为默认值。
推荐阅读
- liquibase - 从 liquibase 更改日志调用 oracle 过程时出错
- linux - 如果 Linux 终端中存在条件,则为其中一个输出字段着色
- c++ - CMake 和 FIND_PACKAGE
- c# - 使用 Hangfire 仪表板时使用会话进行身份验证
- javascript - 创建函数实例时是否执行代码?
- android - 我需要用键盘视图移动我的吐司
- arrays - 如何根据一个标准从数组(2列)中创建一个值列表?
- matlab - 将 4 个表分组为一个,每个表为一列?
- java - 将突出显示的文本包装到 intellij 上的 System.out.println() 的快捷方式
- sql - TSQL分组并组合json数组中的剩余列