Exemplo n.º 1
0
 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();
 }
Exemplo n.º 2
0
	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();
	}
Exemplo n.º 3
0
 /**
  * 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;
         }
     }
 }