private function createDatabaseYamlFile($data)
{
$fs = new Filesystem();
$config_file = $this->config_path . '/database.yml';
if ($fs->exists($config_file)) {
$fs->remove($config_file);
}
if ($data['database'] != 'pdo_sqlite') {
switch ($data['database']) {
case 'pdo_pgsql':
if (empty($data['db_port'])) {
$data['db_port'] = '5432';
}
$data['db_driver'] = 'pdo_pgsql';
break;
case 'pdo_mysql':
if (empty($data['db_port'])) {
$data['db_port'] = '3306';
}
$data['db_driver'] = 'pdo_mysql';
break;
}
$target = array('${DBDRIVER}', '${DBSERVER}', '${DBNAME}', '${DBPORT}', '${DBUSER}', '${DBPASS}');
$replace = array($data['db_driver'], $data['database_host'], $data['database_name'], $data['database_port'], $data['database_user'], $data['database_password']);
$fs = new Filesystem();
$content = str_replace($target, $replace, file_get_contents($this->dist_path . '/database.yml.dist'));
} else {
$content = Yaml::dump(array('database' => array('driver' => 'pdo_sqlite', 'path' => realpath($this->config_path . '/eccube.db'))));
}
$fs->dumpFile($config_file, $content);
return $this;
}