Fix PostgreSQL install (#2735)

* Fix PostgreSQL install

Fix https://github.com/FreshRSS/FreshRSS/issues/2732
When username is different from database name

* Add more comments

2b7807d1b3 (r361846714)
pull/2745/head
Alexandre Alapetite 5 years ago committed by GitHub
parent 03ddcf0772
commit 94db40a742
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      lib/lib_install.php

@ -87,15 +87,19 @@ function initDb() {
$db['pdo_options'][PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $db['pdo_options'][PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$conf->db = $db; //TODO: Remove this Minz limitation "Indirect modification of overloaded property" $conf->db = $db; //TODO: Remove this Minz limitation "Indirect modification of overloaded property"
//Attempt to auto-create database if it does not already exist
if ($db['type'] !== 'sqlite') { if ($db['type'] !== 'sqlite') {
Minz_ModelPdo::$usesSharedPdo = false; Minz_ModelPdo::$usesSharedPdo = false;
$dbBase = isset($db['base']) ? $db['base'] : ''; $dbBase = isset($db['base']) ? $db['base'] : '';
$db['base'] = ''; //For first connection, use default database for PostgreSQL, empty database for MySQL / MariaDB:
$db['base'] = $db['type'] === 'pgsql' ? 'postgres' : '';
$conf->db = $db; $conf->db = $db;
//First connection without database name to create the database //First connection without database name to create the database
$databaseDAO = FreshRSS_Factory::createDatabaseDAO(); $databaseDAO = FreshRSS_Factory::createDatabaseDAO();
//Restore final database parameters for auto-creation and for future connections
$db['base'] = $dbBase; $db['base'] = $dbBase;
$conf->db = $db; $conf->db = $db;
//Perfom database auto-creation
$databaseDAO->create(); $databaseDAO->create();
} }

Loading…
Cancel
Save