putenv('BACKUP_VERBOSE=true'); $backup_dao = DAOFactory::getDAO('BackupDAO'); if ($argv[0] == '--export') { print "\nExporting data to: {$filename}\n\n"; $backup_dao->export($filename); print "\nBackup completed...\n\n"; } else { if (!file_exists($filename)) { error_log("\nError: data import file '{$filename}' not found"); usage(); } print "\nImporting data from: {$filename}\n\n"; $backup_dao->import($filename); print "\nImport completed...\n\n"; } // release global mutex BackupController::mutexLock(true); } } } catch (Exception $e) { error_log(" Error: " . $e->getMessage() . "\n"); } function usage() { print "\n Usage:\n\n"; print " php backup.php [--help] [--export|--import] filename.zip\n\n"; print " --export export_filename.zip - exports data to specified filename\n"; print " --import import_filename.zip - imports data from specified filename\n"; print " --help - usage help\n\n"; exit; }
$sql = preg_replace('/\\-\\-.*/', '', $migration['sql']); $install_dao->runMigrationSQL($sql, $migration['new_migration'], $migration['filename']); } if (count($migrations) == 0) { print "\n No migrations to run...\n\n"; exit; } $option_dao = DAOFactory::getDAO('OptionDAO'); $option = $option_dao->getOptionByName(OptionDAO::APP_OPTIONS, 'database_version'); if ($option) { $option_dao->updateOptionByName(OptionDAO::APP_OPTIONS, 'database_version', $thinkup_db_version); } else { $option_dao->insertOption(OptionDAO::APP_OPTIONS, 'database_version', $thinkup_db_version); } // release global mutex BackupController::mutexLock(); // delete upgrade token if it exists $upgrade_ctl->deleteTokenFile(); $upgrade_end_time = microtime(true); $total_time = $upgrade_end_time - $upgrade_start_time; print "\nUpgrade complete. Total time elapsed: " . round($total_time, 2) . " seconds\n\n"; } catch (Exception $e) { error_log(" Error: " . $e->getMessage() . "\n"); } function usage() { print "\n Usage:\n\n"; print " php upgrade.php [--help][--with-new-sql]\n\n"; print " --with-new-sql - will upgrade with non-versioned in development sql files\n"; print " example: '2011-05-17_new_feature.sql'\n"; print " --help - usage help\n\n";