diff --git a/install/DoctrineMigrations/Version20110629143017.php b/install/DoctrineMigrations/Version20110629143017.php index bc4e731c5..162a1772b 100644 --- a/install/DoctrineMigrations/Version20110629143017.php +++ b/install/DoctrineMigrations/Version20110629143017.php @@ -1,8 +1,6 @@ setPrimaryKey(array('id')); //end create cc_music_dirs table - - - //start cc_files modifications - $cc_files = $schema->getTable('cc_files'); - $cc_files->addColumn('directory', 'integer', array('default'=> -1)); - - //$cc_files->addNamedForeignKeyConstraint('cc_music_dirs_folder_fkey', $cc_music_dirs, array('directory'), array('id'), array('onDelete' => 'CASCADE')); - //end cc_files modifications } + + public function down(Schema $schema) { diff --git a/install/DoctrineMigrations/Version20110711161043.php b/install/DoctrineMigrations/Version20110711161043.php new file mode 100644 index 000000000..d10c76c00 --- /dev/null +++ b/install/DoctrineMigrations/Version20110711161043.php @@ -0,0 +1,38 @@ +_addSql("INSERT INTO cc_music_dirs (type, directory) VALUES ('stor', '/srv/airtime/stor');"); + + $this->_addSql("INSERT INTO cc_music_dirs (type, directory) VALUES ('upgrade', '');"); + + $cc_music_dirs = $schema->getTable('cc_music_dirs'); + + //start cc_files modifications + $cc_files = $schema->getTable('cc_files'); + $cc_files->addColumn('directory', 'integer', array('default'=> 2)); + + $cc_files->addNamedForeignKeyConstraint('cc_music_dirs_folder_fkey', $cc_music_dirs, array('directory'), array('id'), array('onDelete' => 'CASCADE')); + //end cc_files modifications + + } + + public function down(Schema $schema) + { + + } +} diff --git a/install/include/airtime-upgrade.php b/install/include/airtime-upgrade.php index aaec375c3..ce7ac7077 100644 --- a/install/include/airtime-upgrade.php +++ b/install/include/airtime-upgrade.php @@ -102,5 +102,7 @@ passthru("python ".__DIR__."/../../python_apps/media-monitor/install/media-monit AirtimeIni::CreateMonitFile(); +sleep(4); +passthru("airtime-check-system"); echo "******************************* Update Complete *******************************".PHP_EOL; diff --git a/install/upgrades/airtime-1.9.0/airtime-upgrade.php b/install/upgrades/airtime-1.9.0/airtime-upgrade.php index b70db5090..14d29cd06 100644 --- a/install/upgrades/airtime-1.9.0/airtime-upgrade.php +++ b/install/upgrades/airtime-1.9.0/airtime-upgrade.php @@ -15,6 +15,7 @@ AirtimeInstall::CreateZendPhpLogFile(); const CONF_DIR_BINARIES = "/usr/lib/airtime"; const CONF_FILE_AIRTIME = "/etc/airtime/airtime.conf"; +const CONF_FILE_MEDIAMONITOR = "/etc/airtime/media-monitor.cfg"; function BypassMigrations($version) { @@ -68,8 +69,9 @@ function UninstallBinaries() function removeOldAirtimeImport(){ - exec('rm -f "/usr/lib/airtime/utils/airtime-import"'); + exec('rm -f "/usr/bin/airtime-import"'); exec('rm -f "/usr/lib/airtime/utils/airtime-import.php"'); + exec('rm -rf "/usr/lib/airtime/utils/airtime-import"'); } function updateAirtimeImportSymLink(){ @@ -84,8 +86,9 @@ function execSqlQuery($sql){ if (PEAR::isError($result)) { echo "* Failed sql query: $sql".PHP_EOL; echo "* Message {$result->getMessage()}".PHP_EOL; - exit(1); } + + return $result; } function connectToDatabase(){ @@ -106,7 +109,6 @@ function connectToDatabase(){ /* In version 1.9.0 we have have switched from daemontools to more traditional * init.d daemon system. Let's remove all the daemontools files */ - exec("/usr/bin/airtime-pypo-stop"); exec("/usr/bin/airtime-show-recorder-stop"); @@ -138,9 +140,9 @@ foreach ($pathnames as $pn){ } +//update Airtime Server PHP files $values = parse_ini_file(CONF_FILE_AIRTIME, true); $phpDir = $values['general']['airtime_dir']; - InstallAirtimePhpServerCode($phpDir); //update utils (/usr/lib/airtime) folder @@ -408,18 +410,34 @@ execSqlQuery($sql); //create cron file for phone home stat AirtimeInstall::CreateCronFile(); + + +//Handle Database Changes. $stor_dir = realpath($values['general']['base_files_dir']."/stor")."/"; echo "* Inserting stor directory location $stor_dir into music_dirs table".PHP_EOL; -$sql = "INSERT INTO cc_music_dirs (directory, type) VALUES ('$stor_dir', 'stor')"; +$sql = "UPDATE cc_music_dirs SET directory='$stor_dir' WHERE type='stor'"; echo $sql.PHP_EOL; execSqlQuery($sql); +$sql = "SELECT id FROM cc_music_dirs WHERE type='stor'"; +echo $sql.PHP_EOL; +$rows = execSqlQuery($sql); + +//echo "STORAGE ROW ID: $rows[0]"; + //old database had a "fullpath" column that stored the absolute path of each track. We have to //change it so that the "fullpath" column has path relative to the "directory" column. +echo "Creating media-monitor log file"; mkdir("/var/log/airtime/media-monitor/", 755, true); touch("/var/log/airtime/media-monitor/media-monitor.log"); +//create media monitor config: +if (!copy(__DIR__."/../../../python_apps/media-monitor/media-monitor.cfg", CONF_FILE_MEDIAMONITOR)){ + echo "Could not copy media-monitor.cfg to /etc/airtime/. Exiting."; +} + +echo "Reorganizing files in stor directory"; $mediaMonitorUpgradePath = realpath(__DIR__."/../../../python_apps/media-monitor/media-monitor-upgrade.py"); exec("su -c \"python $mediaMonitorUpgradePath\"", $output); @@ -427,8 +445,6 @@ print_r($output); $oldAndNewFileNames = json_decode($output[0]); -print_r($oldAndNewFileNames); - foreach ($oldAndNewFileNames as $pair){ $relPathNew = pg_escape_string(substr($pair[1], strlen($stor_dir))); $absPathOld = pg_escape_string($pair[0]);