feat(legacy): add db config defaults and allow custom port (#1559)
* feat(legacy): allow custom port for database connection - fix heredoc for php72 * update test config db section * update sample config db section * update api db config * use defaults for database config section * update documentation * more documentation for migration
This commit is contained in:
parent
71b3e6aa9d
commit
3245216869
12 changed files with 95 additions and 49 deletions
|
@ -201,17 +201,18 @@ class AirtimeInstall
|
|||
public static function CreateDatabase()
|
||||
{
|
||||
$CC_CONFIG = Config::getConfig();
|
||||
$host = $CC_CONFIG['dsn']['host'];
|
||||
$port = $CC_CONFIG['dsn']['port'];
|
||||
$database = $CC_CONFIG['dsn']['database'];
|
||||
$username = $CC_CONFIG['dsn']['username'];
|
||||
$password = $CC_CONFIG['dsn']['password'];
|
||||
$hostspec = $CC_CONFIG['dsn']['hostspec'];
|
||||
|
||||
echo ' * Creating Airtime database: ' . $database . PHP_EOL;
|
||||
|
||||
$dbExists = false;
|
||||
|
||||
try {
|
||||
$con = pg_connect('user=' . $username . ' password=' . $password . ' host=' . $hostspec);
|
||||
$con = pg_connect("host={$host} port={$port} user={$username} password={$password}");
|
||||
|
||||
pg_query($con, 'CREATE DATABASE ' . $database . ' WITH ENCODING \'UTF8\' TEMPLATE template0 OWNER ' . $username . ';');
|
||||
} catch (Exception $e) {
|
||||
|
@ -245,7 +246,7 @@ class AirtimeInstall
|
|||
}
|
||||
}
|
||||
|
||||
public static function CreateDatabaseTables($p_dbuser, $p_dbpasswd, $p_dbname, $p_dbhost)
|
||||
public static function CreateDatabaseTables($dbuser, $dbpasswd, $dbname, $dbhost, $dbport)
|
||||
{
|
||||
echo ' * Creating database tables' . PHP_EOL;
|
||||
// Put Propel sql files in Database
|
||||
|
@ -253,7 +254,15 @@ class AirtimeInstall
|
|||
$dir = self::GetAirtimeSrcDir() . '/build/sql/';
|
||||
$files = ['schema.sql', 'sequences.sql', 'views.sql', 'triggers.sql', 'defaultdata.sql'];
|
||||
foreach ($files as $f) {
|
||||
$command = "export PGPASSWORD={$p_dbpasswd} && /usr/bin/psql --username {$p_dbuser} --dbname {$p_dbname} --host {$p_dbhost} --file {$dir}{$f} 2>&1";
|
||||
$command = <<<"END"
|
||||
PGPASSWORD={$dbpasswd} \\
|
||||
/usr/bin/psql \\
|
||||
--host={$dbhost} \\
|
||||
--port={$dbport} \\
|
||||
--dbname={$dbname} \\
|
||||
--username={$dbuser} \\
|
||||
--file {$dir}{$f} 2>&1
|
||||
END;
|
||||
@exec($command, $output, $results);
|
||||
}
|
||||
AirtimeInstall::$databaseTablesCreated = true;
|
||||
|
|
|
@ -28,7 +28,8 @@ class TestHelper
|
|||
|
||||
return new Zend_Config(
|
||||
[
|
||||
'host' => $config['dsn']['hostspec'],
|
||||
'host' => $config['dsn']['host'],
|
||||
'port' => $config['dsn']['port'],
|
||||
'dbname' => $config['dsn']['database'],
|
||||
'username' => $config['dsn']['username'],
|
||||
'password' => $config['dsn']['password'],
|
||||
|
@ -42,10 +43,11 @@ class TestHelper
|
|||
//is normally
|
||||
$CC_CONFIG = Config::getConfig();
|
||||
|
||||
$dbhost = $CC_CONFIG['dsn']['host'];
|
||||
$dbport = $CC_CONFIG['dsn']['port'];
|
||||
$dbname = $CC_CONFIG['dsn']['database'];
|
||||
$dbuser = $CC_CONFIG['dsn']['username'];
|
||||
$dbpasswd = $CC_CONFIG['dsn']['password'];
|
||||
$dbname = $CC_CONFIG['dsn']['database'];
|
||||
$dbhost = $CC_CONFIG['dsn']['hostspec'];
|
||||
|
||||
$databaseAlreadyExists = AirtimeInstall::createDatabase();
|
||||
if ($databaseAlreadyExists) {
|
||||
|
@ -123,7 +125,7 @@ class TestHelper
|
|||
$con->commit();
|
||||
} else {
|
||||
//Create all the database tables
|
||||
AirtimeInstall::CreateDatabaseTables($dbuser, $dbpasswd, $dbname, $dbhost);
|
||||
AirtimeInstall::CreateDatabaseTables($dbuser, $dbpasswd, $dbname, $dbhost, $dbport);
|
||||
AirtimeInstall::UpdateDatabaseTables();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue