public function refreshEnvironment(array $settings = array())
{
$this->EnvironmentFileManager->createIfNotExists();
$dotenv = new \Dotenv\Dotenv(base_path());
$dotenv->load();
$configToEnvMapping = ['app.debug' => 'APP_DEBUG', 'app.key' => 'APP_KEY', 'cache.default' => 'CACHE_DRIVER', 'database.default' => 'DB_DEFAULT', 'database.connections.mysql.host' => 'DB_HOST', 'database.connections.pgsql.host' => 'DB_HOST', 'database.connections.sqlsrv.host' => 'DB_HOST', 'database.connections.mysql.database' => 'DB_DATABASE', 'database.connections.pgsql.database' => 'DB_DATABASE', 'database.connections.sqlsrv.database' => 'DB_DATABASE', 'database.connections.mysql.username' => 'DB_USERNAME', 'database.connections.pgsql.username' => 'DB_USERNAME', 'database.connections.sqlsrv.username' => 'DB_USERNAME', 'database.connections.mysql.password' => 'DB_PASSWORD', 'database.connections.pgsql.password' => 'DB_PASSWORD', 'database.connections.sqlsrv.password' => 'DB_PASSWORD', 'session.driver' => 'SESSION_DRIVER'];
$merged = array_merge(['APP_NAME' => env('APP_NAME', 'App'), 'APP_ENV' => env('APP_ENV', 'local'), 'APP_DEBUG' => env('APP_DEBUG'), 'APP_KEY' => env('APP_KEY', 'SomeRandomString'), 'CACHE_DRIVER' => env('CACHE_DRIVER', 'file'), 'DB_DEFAULT' => env('DB_DEFAULT', 'mysql'), 'DB_HOST' => env('DB_HOST', 'localhost'), 'DB_DATABASE' => env('DB_DATABASE', 'forge'), 'DB_USERNAME' => env('DB_USERNAME', 'forge'), 'DB_PASSWORD' => env('DB_PASSWORD', ''), 'CONFIGS_OVERRIDE' => env('CONFIGS_OVERRIDE', ''), 'APP_MIGRATIONS' => env('APP_MIGRATIONS', ''), 'APP_SEEDS' => env('APP_SEEDS', ''), 'SESSION_DRIVER' => env('SESSION_DRIVER', 'file')], $settings);
foreach ($configToEnvMapping as $config => $env) {
$this->Config->set($config, $merged[$env]);
}
app()['env'] = $merged['APP_ENV'];
}