diff --git a/install_minimal/include/AirtimeInstall.php b/install_minimal/include/AirtimeInstall.php index d101f2e4f..9ba2c58fa 100644 --- a/install_minimal/include/AirtimeInstall.php +++ b/install_minimal/include/AirtimeInstall.php @@ -242,14 +242,21 @@ class AirtimeInstall } } - public static function CreateDatabaseTables() + public static function CreateDatabaseTables($p_dbuser, $p_dbpasswd, $p_dbname, $p_dbhost) { echo " * Creating database tables".PHP_EOL; // Put Propel sql files in Database - //$command = AirtimeInstall::CONF_DIR_WWW."/library/propel/generator/bin/propel-gen ".AirtimeInstall::CONF_DIR_WWW."/build/ insert-sql"; - $command = AirtimeInstall::CONF_DIR_WWW."/library/propel/generator/bin/propel-gen ".AirtimeInstall::CONF_DIR_WWW."/build/ insert-sql 2>/dev/null"; - @exec($command, $output, $results); + //$command = AirtimeInstall::CONF_DIR_WWW."/library/propel/generator/bin/propel-gen ".AirtimeInstall::CONF_DIR_WWW."/build/ insert-sql 2>/dev/null"; + + $dir = AirtimeInstall::CONF_DIR_WWW."/build/sql/"; + $files = array("schema.sql", "sequences.sql", "views.sql", "triggers.sql", "defaultdata.sql"); + + foreach ($files as $f){ + $command = "export PGPASSWORD=$p_dbpasswd && psql --username $p_dbuser --dbname $p_dbname --host $p_dbhost --file $dir$f 2>/dev/null"; + @exec($command, $output, $results); + } + AirtimeInstall::$databaseTablesCreated = true; } diff --git a/install_minimal/include/airtime-db-install.php b/install_minimal/include/airtime-db-install.php index 47162aa47..b582b5f9b 100644 --- a/install_minimal/include/airtime-db-install.php +++ b/install_minimal/include/airtime-db-install.php @@ -23,8 +23,15 @@ AirtimeInstall::DbConnect(true); AirtimeInstall::InstallPostgresScriptingLanguage(); +//Load Database parameters +global $CC_CONFIG; +$dbuser = $CC_CONFIG['dsn']['username']; +$dbpasswd = $CC_CONFIG['dsn']['password']; +$dbname = $CC_CONFIG['dsn']['database']; +$dbhost = $CC_CONFIG['dsn']['hostspec']; + if (isset($argv[1]) && $argv[1] == 'y') { - AirtimeInstall::CreateDatabaseTables(); + AirtimeInstall::CreateDatabaseTables($dbuser, $dbpasswd, $dbname, $dbhost); } else if ($databaseExisted) { //Database already exists. Ask the user how they want to //proceed. Warn them that creating the database tables again @@ -36,12 +43,12 @@ if (isset($argv[1]) && $argv[1] == 'y') { $userAnswer = trim(fgets(STDIN)); } if (in_array($userAnswer, array("y", "Y"))) { - AirtimeInstall::CreateDatabaseTables(); + AirtimeInstall::CreateDatabaseTables($dbuser, $dbpasswd, $dbname, $dbhost); } } else { //Database was just created, meaning the tables do not //exist. Let's create them. - AirtimeInstall::CreateDatabaseTables(); + AirtimeInstall::CreateDatabaseTables($dbuser, $dbpasswd, $dbname, $dbhost); } echo " * Setting Airtime version".PHP_EOL;