Small service to parse database connection string into parts.
This package allows you to parse database connection string into parts.
Require the ngabor84/laravel-dbconnstring-parser package in your composer.json and update your dependencies:
composer require ngabor84/laravel-dbconnstring-parser
Add the service provider to the providers array in the config/app.php config file as follows:
'providers' => [
...
\Service\Database\ConnectionStringParser\Providers\ServiceProvider::class,
]
In your database config file you can use it like this:
$connection = ConnectionStringParser::parse(env('DATABASE_URL'));
return [
'default' => 'pgsql',
'connections' => [
'pgsql' => [
'driver' => 'pgsql',
'host' => $connection->getHost(),
'username' => $connection->getUserName(),
'password' => $connection->getPassword(),
'port' => $connection->getPort(),
'database' => $connection->getDatabase(),
'charset' => 'utf8',
'options' => array(
PDO::ATTR_PERSISTENT => true
)
]
]
];
Add the following snippet to the bootstrap/app.php file under the providers section as follows:
// uncomment this line to enable Facades
$app->withFacades();
...
$app->register(\Service\Database\ConnectionStringParser\Providers\ServiceProvider::class);
In your database config file you can use it like this:
$connection = ConnectionStringParser::parse(env('DATABASE_URL'));
return [
'default' => 'pgsql',
'connections' => [
'pgsql' => [
'driver' => 'pgsql',
'host' => $connection->getHost(),
'username' => $connection->getUserName(),
'password' => $connection->getPassword(),
'port' => $connection->getPort(),
'database' => $connection->getDatabase(),
'charset' => 'utf8',
'options' => array(
PDO::ATTR_PERSISTENT => true
)
]
]
];