public function applyDBChanges() { //SalesPlatform.ru begin: set infinity time limit to success update DB set_time_limit(0); //SalesPlatform.ru end $migrationModuleModel = Migration_Module_Model::getInstance(); $getAllowedMigrationVersions = $migrationModuleModel->getAllowedMigrationVersions(); $getDBVersion = str_replace(array('.', ' '), '', $migrationModuleModel->getDBVersion()); $getLatestSourceVersion = str_replace(array('.', ' '), '', $migrationModuleModel->getLatestSourceVersion()); $migrateVersions = array(); foreach ($getAllowedMigrationVersions as $getAllowedMigrationVersion) { foreach ($getAllowedMigrationVersion as $version => $label) { if (strcasecmp($version, $getDBVersion) == 0 || $reach == 1) { $reach = 1; $migrateVersions[] = $version; } } } $migrateVersions[] = $getLatestSourceVersion; $patchCount = count($migrateVersions); define('VTIGER_UPGRADE', true); for ($i = 0; $i < $patchCount; $i++) { $filename = "modules/Migration/schema/" . $migrateVersions[$i] . "_to_" . $migrateVersions[$i + 1] . ".php"; if (is_file($filename)) { if (!defined('INSTALLATION_MODE')) { // SalesPlatform.ru begin Create migration log $line = $migrateVersions[$i] . " ==> " . $migrateVersions[$i + 1] . " Database changes -- Starts.\n"; file_put_contents(self::MIGRATION_FILE_NAME, $line, FILE_APPEND | LOCK_EX); // SalesPlatform.ru end echo "<table class='config-table'><tr><th><span><b><font color='red'>" . $migrateVersions[$i] . " ==> " . $migrateVersions[$i + 1] . " Database changes -- Starts. </font></b></span></th></tr></table>"; echo "<table class='config-table'>"; } $_i_statesaved = $i; include $filename; $i = $_i_statesaved; if (!defined('INSTALLATION_MODE')) { // SalesPlatform.ru begin Create migration log $line = $migrateVersions[$i] . " ==> " . $migrateVersions[$i + 1] . " Database changes -- Ends.\n"; file_put_contents(self::MIGRATION_FILE_NAME, $line, FILE_APPEND | LOCK_EX); // SalesPlatform.ru end echo "<table class='config-table'><tr><th><span><b><font color='red'>" . $migrateVersions[$i] . " ==> " . $migrateVersions[$i + 1] . " Database changes -- Ends.</font></b></span></th></tr></table>"; } } else { if (isset($migrateVersions[$patchCount + 1])) { // SalesPlatform.ru begin Create migration log $line = "There is no Database Changes from " . $migrateVersions[$i] . " ==> " . $migrateVersions[$i + 1] . "\n"; file_put_contents(self::MIGRATION_FILE_NAME, $line, FILE_APPEND | LOCK_EX); // SalesPlatform.ru end echo "<table class='config-table'><tr><th><span><b><font color='red'> There is no Database Changes from " . $migrateVersions[$i] . " ==> " . $migrateVersions[$i + 1] . "</font></b></span></th></tr></table>"; } } } //update vtiger version in db $migrationModuleModel->updateVtigerVersion(); // To carry out all the necessary actions after migration $migrationModuleModel->postMigrateActivities(); }
public function applyDBChanges(){ $moduleModel = Migration_Module_Model::getInstance(); $getAllowedMigrationVersions = $moduleModel->getAllowedMigrationVersions(); $getDBVersion = str_replace(array('.', ' '),'', $moduleModel->getDBVersion()); $getLatestSourceVersion = str_replace(array('.', ' '),'', $moduleModel->getLatestSourceVersion()); $migrateVersions = array(); foreach($getAllowedMigrationVersions as $getAllowedMigrationVersion) { foreach($getAllowedMigrationVersion as $version => $label) { if(strcasecmp($version, $getDBVersion) == 0 || $reach == 1) { $reach = 1; $migrateVersions[] = $version; } } } $migrateVersions[] = $getLatestSourceVersion; $patchCount = count($migrateVersions); define('VTIGER_UPGRADE', true); for($i=0; $i<$patchCount; $i++){ $filename = "modules/Migration/schema/".$migrateVersions[$i]."_to_".$migrateVersions[$i+1].".php"; if(is_file($filename)) { if(!defined('INSTALLATION_MODE')) { echo "<table class='config-table'><tr><th><span><b><font color='red'>".$migrateVersions[$i]." ==> ".$migrateVersions[$i+1]." Database changes -- Starts. </font></b></span></th></tr></table>"; echo "<table class='config-table'>"; } $_i_statesaved = $i; include($filename); $i = $_i_statesaved; if(!defined('INSTALLATION_MODE')) { echo "<table class='config-table'><tr><th><span><b><font color='red'>".$migrateVersions[$i]." ==> ".$migrateVersions[$i+1]." Database changes -- Ends.</font></b></span></th></tr></table>"; } } else if(isset($migrateVersions[$patchCount+1])){ echo "<table class='config-table'><tr><th><span><b><font color='red'> There is no Database Changes from ".$migrateVersions[$i]." ==> ".$migrateVersions[$i+1]."</font></b></span></th></tr></table>"; } } //update vtiger version in db $moduleModel->updateVtigerVersion(); // To carry out all the necessary actions after migration $moduleModel->postMigrateActivities(); }
/** * Function upgrades the schema with changes post 540 version */ public static function upgrade() { $migrateVersions = Migration_Module_Model::getInstance('')->getAllowedMigrationVersions(); define('VTIGER_UPGRADE', true); $oldVersion = null; foreach ($migrateVersions as $migrateVersion) { foreach ($migrateVersion as $newVersion => $versionLabel) { // Not ready? if ($oldVersion == null) { $oldVersion = $newVersion; break; } $oldVersion = str_replace(array('.', ' '), '', $oldVersion); $newVersion = str_replace(array('.', ' '), '', $newVersion); $filename = "modules/Migration/schema/" . $oldVersion . "_to_" . $newVersion . ".php"; if (is_file($filename)) { include $filename; } $oldVersion = $newVersion; } } }