From 62b6d020bb64f92b4a5285907c98368ffd974182 Mon Sep 17 00:00:00 2001 From: martin Date: Fri, 15 Jul 2011 16:38:46 -0400 Subject: [PATCH] CC-2279: Upgrade script for converting stor directory to new format -testing fixes --- .../Version20110629143017.php | 14 ++----- .../Version20110711161043.php | 39 +++++++++++++++++++ .../airtime-1.9.0/airtime-upgrade.php | 7 ++-- 3 files changed, 46 insertions(+), 14 deletions(-) create mode 100644 install/DoctrineMigrations/Version20110711161043.php 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..a0742178b --- /dev/null +++ b/install/DoctrineMigrations/Version20110711161043.php @@ -0,0 +1,39 @@ +_addSql("INSERT INTO cc_music_dirs (type, directory) VALUES ('stor', '/srv/airtime/stor');"); + + $this->_addSql("INSERT INTO cc_music_dirs (type, directory) VALUES ('upgrade', '');"); + } + + public function postUp(Schema $schema){ + $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/upgrades/airtime-1.9.0/airtime-upgrade.php b/install/upgrades/airtime-1.9.0/airtime-upgrade.php index 0b5b0e6a7..14d29cd06 100644 --- a/install/upgrades/airtime-1.9.0/airtime-upgrade.php +++ b/install/upgrades/airtime-1.9.0/airtime-upgrade.php @@ -415,7 +415,7 @@ 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); @@ -428,19 +428,20 @@ $rows = execSqlQuery($sql); //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."; - exit(1); } +echo "Reorganizing files in stor directory"; $mediaMonitorUpgradePath = realpath(__DIR__."/../../../python_apps/media-monitor/media-monitor-upgrade.py"); exec("su -c \"python $mediaMonitorUpgradePath\"", $output); -echo $output[0]; +print_r($output); $oldAndNewFileNames = json_decode($output[0]);