Merge branch 'devel' of dev.sourcefabric.org:airtime into devel

This commit is contained in:
James 2011-11-03 15:26:28 -04:00
commit dc0b361b07
7 changed files with 104 additions and 24 deletions

View file

@ -5,5 +5,5 @@
*/
$dir = __DIR__;
$command = "php $dir/../airtime_mvc/library/doctrine/migrations/doctrine-migrations.phar --configuration=$dir/../install_minimal/DoctrineMigrations/migrations.xml --db-configuration=$dir/../airtime_mvc/library/doctrine/migrations/migrations-db.php --no-interaction migrations:generate";
$command = "php --php-ini $dir/../install_minimal/airtime-php.ini $dir/../airtime_mvc/library/doctrine/migrations/doctrine-migrations.phar --configuration=$dir/../install_minimal/DoctrineMigrations/migrations.xml --db-configuration=$dir/../airtime_mvc/library/doctrine/migrations/migrations-db.php --no-interaction migrations:generate";
system($command);

View file

@ -0,0 +1,21 @@
<?php
namespace DoctrineMigrations;
use Doctrine\DBAL\Migrations\AbstractMigration,
Doctrine\DBAL\Schema\Schema;
class Version20111103141311 extends AbstractMigration
{
public function up(Schema $schema)
{
// add timezone column to cc_show_days
$cc_subjs = $schema->getTable('cc_show_days');
$cc_subjs->addColumn('timezone', 'string', array('required' => true));
}
public function down(Schema $schema)
{
}
}

View file

@ -35,12 +35,29 @@ AIRTIMEROOT=$SCRIPTPATH/../../
echo "* Creating /etc/airtime"
mkdir -p /etc/airtime
cp $AIRTIMEROOT/airtime_mvc/build/airtime.conf /etc/airtime
if [ ! -e /etc/airtime/airtime.conf ]; then
cp $AIRTIMEROOT/airtime_mvc/build/airtime.conf /etc/airtime
fi
if [ ! -e /etc/airtime/api_client.cfg ]; then
cp $AIRTIMEROOT/python_apps/api_clients/api_client.cfg /etc/airtime
fi
if [ ! -e /etc/airtime/recorder.cfg ]; then
cp $AIRTIMEROOT/python_apps/show-recorder/recorder.cfg /etc/airtime
fi
if [ ! -e /etc/airtime/media-monitor.cfg ]; then
cp $AIRTIMEROOT/python_apps/media-monitor/media-monitor.cfg /etc/airtime
fi
if [ ! -e /etc/airtime/pypo.cfg ]; then
cp $AIRTIMEROOT/python_apps/pypo/pypo.cfg /etc/airtime
fi
if [ ! -e /etc/airtime/liquidsoap.cfg ]; then
cp $AIRTIMEROOT/python_apps/pypo/liquidsoap_scripts/liquidsoap.cfg /etc/airtime
fi
echo "* Creating /etc/cron.d/airtime-crons"
HOUR=$(($RANDOM%24))

View file

@ -1,5 +1,8 @@
<?php
set_include_path(__DIR__.'/../../airtime_mvc/library/pear' . PATH_SEPARATOR . get_include_path());
require_once('DB.php');
/* These are helper functions that are common to each upgrade such as
* creating connections to a database, backing up config files etc.
*/
@ -13,6 +16,27 @@ class UpgradeCommon{
const CONF_PYPO_GRP = "pypo";
const CONF_WWW_DATA_GRP = "www-data";
const CONF_BACKUP_SUFFIX = "200";
const VERSION_NUMBER = "2.0";
public static function connectToDatabase($p_exitOnError = true)
{
global $CC_DBC, $CC_CONFIG;
$CC_DBC = DB::connect($CC_CONFIG['dsn'], FALSE);
if (PEAR::isError($CC_DBC)) {
echo $CC_DBC->getMessage().PHP_EOL;
echo $CC_DBC->getUserInfo().PHP_EOL;
echo "Database connection problem.".PHP_EOL;
echo "Check if database '{$CC_CONFIG['dsn']['database']}' exists".
" with corresponding permissions.".PHP_EOL;
if ($p_exitOnError) {
exit(1);
}
} else {
$CC_DBC->setFetchMode(DB_FETCHMODE_ASSOC);
}
}
public static function DbTableExists($p_name)
{
@ -33,7 +57,8 @@ class UpgradeCommon{
public static function MigrateTablesToVersion($dir, $version)
{
$appDir = self::GetAirtimeSrcDir();
$command = "php $appDir/library/doctrine/migrations/doctrine-migrations.phar ".
$command = "php --php-ini $dir/../../airtime-php.ini ".
"$appDir/library/doctrine/migrations/doctrine-migrations.phar ".
"--configuration=$dir/../../DoctrineMigrations/migrations.xml ".
"--db-configuration=$appDir/library/doctrine/migrations/migrations-db.php ".
"--no-interaction migrations:migrate $version";
@ -43,7 +68,8 @@ class UpgradeCommon{
public static function BypassMigrations($dir, $version)
{
$appDir = self::GetAirtimeSrcDir();
$command = "php $appDir/library/doctrine/migrations/doctrine-migrations.phar ".
$command = "php --php-ini $dir/../../airtime-php.ini ".
"$appDir/library/doctrine/migrations/doctrine-migrations.phar ".
"--configuration=$dir/../../DoctrineMigrations/migrations.xml ".
"--db-configuration=$appDir/library/doctrine/migrations/migrations-db.php ".
"--no-interaction --add migrations:version $version";
@ -60,7 +86,7 @@ class UpgradeCommon{
UpgradeCommon::CONF_FILE_API_CLIENT);
// Backup the config files
$suffix = date("Ymdhis")."-".VERSION_NUMBER;
$suffix = date("Ymdhis")."-".UpgradeCommon::VERSION_NUMBER;
foreach ($configFiles as $conf) {
// do not back up monit cfg
if (file_exists($conf)) {
@ -70,8 +96,7 @@ class UpgradeCommon{
}
}
$default_suffix = "200";
self::CreateIniFiles($default_suffix);
self::CreateIniFiles(UpgradeCommon::CONF_BACKUP_SUFFIX);
self::MergeConfigFiles($configFiles, $suffix);
}

View file

@ -15,14 +15,10 @@
* format, and that's what this upgrade script will be for.
*/
const VERSION_NUMBER = "2.0";
set_include_path(__DIR__.'/../../../airtime_mvc/library' . PATH_SEPARATOR . get_include_path());
set_include_path(__DIR__.'/../../../airtime_mvc/library/pear' . PATH_SEPARATOR . get_include_path());
set_include_path(__DIR__.'/../../../airtime_mvc/application/models' . PATH_SEPARATOR . get_include_path());
set_include_path(__DIR__.'/../../../airtime_mvc/application/configs' . PATH_SEPARATOR . get_include_path());
require_once 'conf.php';
require_once 'DB.php';
require_once 'propel/runtime/lib/Propel.php';
Propel::init(__DIR__."/../../../airtime_mvc/application/configs/airtime-conf.php");
@ -34,6 +30,8 @@ require_once 'UpgradeCommon.php';
class AirtimeDatabaseUpgrade{
public static function start(){
self::doDbMigration();
self::SetDefaultTimezone();
self::setPhpDefaultTimeZoneToSystemTimezone();
self::convert_cc_playlist();
@ -41,7 +39,6 @@ class AirtimeDatabaseUpgrade{
self::convert_cc_show_days();
self::convert_cc_show_instances();
self::doDbMigration();
self::SetDefaultStreamSetting();
self::GetOldLiquidsoapCfgAndUpdate();
}
@ -144,7 +141,7 @@ class AirtimeDatabaseUpgrade{
}
}
UpgradeCommon::MigrateTablesToVersion(__DIR__, '20111102142811');
UpgradeCommon::MigrateTablesToVersion(__DIR__, '20111103141311');
}
private static function SetDefaultStreamSetting()

View file

@ -1,5 +1,8 @@
<?php
set_include_path(__DIR__.'/../../airtime_mvc/library/pear' . PATH_SEPARATOR . get_include_path());
require_once('DB.php');
/* These are helper functions that are common to each upgrade such as
* creating connections to a database, backing up config files etc.
*/
@ -13,6 +16,27 @@ class UpgradeCommon{
const CONF_PYPO_GRP = "pypo";
const CONF_WWW_DATA_GRP = "www-data";
const CONF_BACKUP_SUFFIX = "200";
const VERSION_NUMBER = "2.0.0";
public static function connectToDatabase($p_exitOnError = true)
{
global $CC_DBC, $CC_CONFIG;
$CC_DBC = DB::connect($CC_CONFIG['dsn'], FALSE);
if (PEAR::isError($CC_DBC)) {
echo $CC_DBC->getMessage().PHP_EOL;
echo $CC_DBC->getUserInfo().PHP_EOL;
echo "Database connection problem.".PHP_EOL;
echo "Check if database '{$CC_CONFIG['dsn']['database']}' exists".
" with corresponding permissions.".PHP_EOL;
if ($p_exitOnError) {
exit(1);
}
} else {
$CC_DBC->setFetchMode(DB_FETCHMODE_ASSOC);
}
}
public static function DbTableExists($p_name)
{
@ -33,7 +57,8 @@ class UpgradeCommon{
public static function MigrateTablesToVersion($dir, $version)
{
$appDir = self::GetAirtimeSrcDir();
$command = "php $appDir/library/doctrine/migrations/doctrine-migrations.phar ".
$command = "php --php-ini $dir/../../airtime-php.ini ".
"$appDir/library/doctrine/migrations/doctrine-migrations.phar ".
"--configuration=$dir/../../DoctrineMigrations/migrations.xml ".
"--db-configuration=$appDir/library/doctrine/migrations/migrations-db.php ".
"--no-interaction migrations:migrate $version";
@ -43,7 +68,8 @@ class UpgradeCommon{
public static function BypassMigrations($dir, $version)
{
$appDir = self::GetAirtimeSrcDir();
$command = "php $appDir/library/doctrine/migrations/doctrine-migrations.phar ".
$command = "php --php-ini $dir/../../airtime-php.ini ".
"$appDir/library/doctrine/migrations/doctrine-migrations.phar ".
"--configuration=$dir/../../DoctrineMigrations/migrations.xml ".
"--db-configuration=$appDir/library/doctrine/migrations/migrations-db.php ".
"--no-interaction --add migrations:version $version";
@ -60,7 +86,7 @@ class UpgradeCommon{
UpgradeCommon::CONF_FILE_API_CLIENT);
// Backup the config files
$suffix = date("Ymdhis")."-".VERSION_NUMBER;
$suffix = date("Ymdhis")."-".UpgradeCommon::VERSION_NUMBER;
foreach ($configFiles as $conf) {
// do not back up monit cfg
if (file_exists($conf)) {
@ -70,8 +96,7 @@ class UpgradeCommon{
}
}
$default_suffix = CONF_BACKUP_SUFFIX;
self::CreateIniFiles($default_suffix);
self::CreateIniFiles(UpgradeCommon::CONF_BACKUP_SUFFIX);
self::MergeConfigFiles($configFiles, $suffix);
}

View file

@ -15,15 +15,10 @@
* format, and that's what this upgrade script will be for.
*/
const VERSION_NUMBER = "2.0.0";
const CONF_BACKUP_SUFFIX = "200";
set_include_path(__DIR__.'/../../../airtime_mvc/library' . PATH_SEPARATOR . get_include_path());
set_include_path(__DIR__.'/../../../airtime_mvc/library/pear' . PATH_SEPARATOR . get_include_path());
set_include_path(__DIR__.'/../../../airtime_mvc/application/models' . PATH_SEPARATOR . get_include_path());
set_include_path(__DIR__.'/../../../airtime_mvc/application/configs' . PATH_SEPARATOR . get_include_path());
require_once 'conf.php';
require_once 'DB.php';
require_once 'propel/runtime/lib/Propel.php';
Propel::init(__DIR__."/../../../airtime_mvc/application/configs/airtime-conf.php");
@ -79,7 +74,7 @@ class AirtimeMiscUpgrade{
}
}
UpgradeCommonFunctions::connectToDatabase();
UpgradeCommon::connectToDatabase();
AirtimeDatabaseUpgrade::start();
AirtimeStorWatchedDirsUpgrade::start();