如何在Lumen 5.5 ..中使用.env使用多个数据库连接?

里特什

我已经安装了Lumen 5.5并配置了.env:

APP_ENV=local
APP_DEBUG=true
APP_KEY=2gh4RD89kWa87clEs6Vhjso3XhsFo3dR
APP_TIMEZONE=UTC

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=XXXXXX
DB_USERNAME=XXXXXX
DB_PASSWORD=XXXXXX

CACHE_DRIVER=memcached
QUEUE_DRIVER=sync

并使用Eloquent创建了一个模型:

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Test extends Model {

    public $timestamps = false;
    protected $connection = 'foo';
}

现在,官方站点上没有任何文件可以配置.env文件中的多个数据库连接我的单个连接工作正常,但是现在我需要添加另一个数据库连接详细信息。

到目前为止我尝试过的是:

  1. app/config/database.php与多个数据库详细信息一样创建了数据库配置文件,但是无论我在该文件中写入什么内容,我的设置都不会受到影响。它仅.env用于获取连接详细信息。

  2. 试图在.env文件中添加多个数据库连接详细信息,例如:

    DB_CONNECTION = mysql DB_HOST = 127.0.0.1 DB_PORT = 3306 DB_DATABASE = XXXXXX DB_USERNAME = XXXXXX DB_PASSWORD = XXXXXX

    FOO_DB_CONNECTION = MySQL FOO_DB_HOST = 127.0.0.1 FOO_DB_PORT = 3306 FOO_DB_DATABASE = FOOXXXXXX FOO_DB_USERNAME = FOOXXXXXX FOO_DB_PASSWORD = FOOXXXXXX

    DB_CONNECTION_FOO = mysql DB_HOST_FOO = 127.0.0.1 DB_PORT_FOO = 3306 DB_DATABASE_FOO = FOOXXXXXX DB_USERNAME_FOO = FOOXXXXXX DB_PASSWORD_FOO = FOOXXXXXX

但这一直给我这个错误:

(1/1) InvalidArgumentException
Database [foo] not configured.

我已经尝试过在Google上找到的所有内容。请帮我..!!

耻辱

我在项目中配置的方式(在Lumen 5.4中)如下:

在里面 config/database.php

'pgsql' => [
        'driver'   => 'pgsql',
        'host'     => env('DB_HOST', 'db'),
        'port'     => env('DB_PORT', 5432),
        'database' => env('DB_DATABASE', 'service_db'),
        'username' => env('DB_USERNAME', 'service_user'),
        'password' => env('DB_PASSWORD'),
        'charset'  => env('DB_CHARSET', 'utf8'),
        'prefix'   => env('DB_PREFIX', ''),
        'schema'   => env('DB_SCHEMA', 'public'),
    ],

    'pgsql2' => [
        'driver'   => 'pgsql',
        'host'     => env('DB_HOST2', 'db'),
        'port'     => env('DB_PORT', 5432),
        'database' => env('DB_DATABASE2', 'service_db'),
        'username' => env('DB_USERNAME2', 'service_user'),
        'password' => env('DB_PASSWORD2'),
        'charset'  => env('DB_CHARSET', 'utf8'),
        'prefix'   => env('DB_PREFIX', ''),
        'schema'   => env('DB_SCHEMA2', 'public'),
    ],

我用2个不同的名称创建了2个连接,每个连接都指向数据库主机/数据库/用户名/密码/模式的不同env变量。如果这样做没有帮助,请发布您的database.php文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章