HOR-4481
This commit is contained in:
@@ -8,6 +8,7 @@ CLI::taskDescription("Upgrade workspaces.\n\n This command should be run after u
|
|||||||
|
|
||||||
CLI::taskOpt('buildACV', 'If this option is enabled, the Cache View is built.', 'ACV', 'buildACV');
|
CLI::taskOpt('buildACV', 'If this option is enabled, the Cache View is built.', 'ACV', 'buildACV');
|
||||||
CLI::taskOpt('noxml', 'If this option is enabled, the XML files translation is not built.', 'NoXml', 'no-xml');
|
CLI::taskOpt('noxml', 'If this option is enabled, the XML files translation is not built.', 'NoXml', 'no-xml');
|
||||||
|
CLI::taskOpt('include_dyn_content', "Include the DYN_CONTENT_HISTORY value. Ex: --include_dyn_content", 'i', 'include_dyn_content');
|
||||||
CLI::taskRun("run_upgrade");
|
CLI::taskRun("run_upgrade");
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
CLI::taskName('unify-database');
|
CLI::taskName('unify-database');
|
||||||
@@ -107,6 +108,9 @@ function run_upgrade($command, $args)
|
|||||||
$countWorkspace = 0;
|
$countWorkspace = 0;
|
||||||
$buildCacheView = array_key_exists('buildACV', $args);
|
$buildCacheView = array_key_exists('buildACV', $args);
|
||||||
$flagUpdateXml = !array_key_exists('noxml', $args);
|
$flagUpdateXml = !array_key_exists('noxml', $args);
|
||||||
|
$optionMigrateHistoryData = [
|
||||||
|
'includeDynContent' => array_key_exists('include_dyn_content', $args)
|
||||||
|
];
|
||||||
|
|
||||||
foreach ($workspaces as $index => $workspace) {
|
foreach ($workspaces as $index => $workspace) {
|
||||||
if (empty(config("system.workspace"))) {
|
if (empty(config("system.workspace"))) {
|
||||||
@@ -125,7 +129,7 @@ function run_upgrade($command, $args)
|
|||||||
try {
|
try {
|
||||||
$countWorkspace++;
|
$countWorkspace++;
|
||||||
CLI::logging("Upgrading workspaces ($countWorkspace/$count): " . CLI::info($workspace->name) . "\n");
|
CLI::logging("Upgrading workspaces ($countWorkspace/$count): " . CLI::info($workspace->name) . "\n");
|
||||||
$workspace->upgrade($buildCacheView, $workspace->name, false, 'en', ['updateXml' => $flagUpdateXml, 'updateMafe' => $first]);
|
$workspace->upgrade($buildCacheView, $workspace->name, false, 'en', ['updateXml' => $flagUpdateXml, 'updateMafe' => $first], $optionMigrateHistoryData);
|
||||||
$workspace->close();
|
$workspace->close();
|
||||||
$first = false;
|
$first = false;
|
||||||
$flagUpdateXml = false;
|
$flagUpdateXml = false;
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ CLI::taskOpt("workspace", "Specify which workspace to restore if multiple worksp
|
|||||||
Ex: -wworkflow.", "w:", "workspace=");
|
Ex: -wworkflow.", "w:", "workspace=");
|
||||||
CLI::taskOpt("lang", "Specify the language which will be used to rebuild the case cache list. If this option isn't included, then 'en' (English) will be used by default.", "l:", "lang=");
|
CLI::taskOpt("lang", "Specify the language which will be used to rebuild the case cache list. If this option isn't included, then 'en' (English) will be used by default.", "l:", "lang=");
|
||||||
CLI::taskOpt("port", "Specify the port number used by MySQL. If not specified, then the port 3306 will be used by default.", "p:");
|
CLI::taskOpt("port", "Specify the port number used by MySQL. If not specified, then the port 3306 will be used by default.", "p:");
|
||||||
|
CLI::taskOpt('include_dyn_content', "Include the DYN_CONTENT_HISTORY value. Ex: --include_dyn_content", 'd', 'include_dyn_content');
|
||||||
CLI::taskRun("run_workspace_restore");
|
CLI::taskRun("run_workspace_restore");
|
||||||
|
|
||||||
CLI::taskName('cacheview-repair');
|
CLI::taskName('cacheview-repair');
|
||||||
@@ -342,6 +343,18 @@ EOT
|
|||||||
CLI::taskArg('workspace');
|
CLI::taskArg('workspace');
|
||||||
CLI::taskRun("regenerate_pmtable_classes");
|
CLI::taskRun("regenerate_pmtable_classes");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Migrate the data from APP_HISTORY table to the new table APP_DATA_CHANGE_LOG.
|
||||||
|
*/
|
||||||
|
CLI::taskName('migrate-history-data');
|
||||||
|
CLI::taskDescription(<<<EOT
|
||||||
|
Migrate the content of the APP_HISTORY table to the APP_DATA_CHANGE_LOG table.
|
||||||
|
EOT
|
||||||
|
);
|
||||||
|
CLI::taskArg('workspace');
|
||||||
|
CLI::taskRun('migrate_history_data');
|
||||||
|
CLI::taskOpt('include_dyn_content', "Include the DYN_CONTENT_HISTORY value. Ex: --include_dyn_content", 'i', 'include_dyn_content');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function run_info
|
* Function run_info
|
||||||
*
|
*
|
||||||
@@ -840,6 +853,9 @@ function run_workspace_restore($args, $opts)
|
|||||||
$info = array_key_exists("info", $opts);
|
$info = array_key_exists("info", $opts);
|
||||||
$lang = array_key_exists("lang", $opts) ? $opts['lang'] : 'en';
|
$lang = array_key_exists("lang", $opts) ? $opts['lang'] : 'en';
|
||||||
$port = array_key_exists("port", $opts) ? $opts['port'] : '';
|
$port = array_key_exists("port", $opts) ? $opts['port'] : '';
|
||||||
|
$optionMigrateHistoryData = [
|
||||||
|
'includeDynContent' => array_key_exists('include_dyn_content', $args)
|
||||||
|
];
|
||||||
if ($info) {
|
if ($info) {
|
||||||
WorkspaceTools::getBackupInfo($filename);
|
WorkspaceTools::getBackupInfo($filename);
|
||||||
} else {
|
} else {
|
||||||
@@ -865,7 +881,7 @@ function run_workspace_restore($args, $opts)
|
|||||||
CLI::error("Please, you should use -m parameter to restore them.\n");
|
CLI::error("Please, you should use -m parameter to restore them.\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
WorkspaceTools::restore($filename, $workspace, $dstWorkspace, $overwrite, $lang, $port);
|
WorkspaceTools::restore($filename, $workspace, $dstWorkspace, $overwrite, $lang, $port, $optionMigrateHistoryData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -1268,3 +1284,43 @@ function regenerate_pmtable_classes($args, $opts)
|
|||||||
throw new Exception("No workspace specified for updating generated class files.");
|
throw new Exception("No workspace specified for updating generated class files.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method migrates data from APP_HISTORY table to APP_DATA_CHANGE_LOG table.
|
||||||
|
*
|
||||||
|
* @param array $args
|
||||||
|
* @param string $opts
|
||||||
|
*/
|
||||||
|
function migrate_history_data($args, $opts)
|
||||||
|
{
|
||||||
|
foreach ($args as $key => $value) {
|
||||||
|
if ($args[$key] === '--include_dyn_content' || $args[$key] === '-i') {
|
||||||
|
unset($args[$key]);
|
||||||
|
$opts['include_dyn_content'] = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$option = '';
|
||||||
|
$removedDynContentHistory = true;
|
||||||
|
$exist = array_key_exists('include_dyn_content', $opts);
|
||||||
|
if ($exist) {
|
||||||
|
$removedDynContentHistory = false;
|
||||||
|
$option = '--include_dyn_content';
|
||||||
|
}
|
||||||
|
if (count($args) === 1) {
|
||||||
|
$start = microtime(true);
|
||||||
|
CLI::logging("> Migrating history data...\n");
|
||||||
|
|
||||||
|
Bootstrap::setConstantsRelatedWs($args[0]);
|
||||||
|
|
||||||
|
$workspaceTools = new WorkspaceTools($args[0]);
|
||||||
|
$workspaceTools->migrateAppHistoryToAppDataChangeLog(true, $removedDynContentHistory);
|
||||||
|
|
||||||
|
$stop = microtime(true);
|
||||||
|
CLI::logging("<*> Migrating history data took " . ($stop - $start) . " seconds.\n");
|
||||||
|
} else {
|
||||||
|
$workspaces = get_workspaces_from_args($args);
|
||||||
|
foreach ($workspaces as $workspace) {
|
||||||
|
passthru(PHP_BINARY . ' processmaker migrate-history-data ' . $workspace->name . ' ' . $option);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -2,10 +2,11 @@
|
|||||||
|
|
||||||
use Illuminate\Database\QueryException;
|
use Illuminate\Database\QueryException;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use ProcessMaker\ChangeLog\ChangeLog;
|
||||||
use ProcessMaker\Core\Installer;
|
use ProcessMaker\Core\Installer;
|
||||||
use ProcessMaker\Core\System;
|
use ProcessMaker\Core\System;
|
||||||
use ProcessMaker\Util\FixReferencePath;
|
|
||||||
use ProcessMaker\Plugins\Adapters\PluginAdapter;
|
use ProcessMaker\Plugins\Adapters\PluginAdapter;
|
||||||
|
use ProcessMaker\Util\FixReferencePath;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* class workspaceTools.
|
* class workspaceTools.
|
||||||
@@ -221,7 +222,7 @@ class WorkspaceTools
|
|||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function upgrade($buildCacheView = false, $workSpace = null, $onedb = false, $lang = 'en', array $arrayOptTranslation = null)
|
public function upgrade($buildCacheView = false, $workSpace = null, $onedb = false, $lang = 'en', array $arrayOptTranslation = null, $optionMigrateHistoryData = [])
|
||||||
{
|
{
|
||||||
if ($workSpace === null) {
|
if ($workSpace === null) {
|
||||||
$workSpace = config("system.workspace");
|
$workSpace = config("system.workspace");
|
||||||
@@ -339,6 +340,13 @@ class WorkspaceTools
|
|||||||
$this->migrateSingleton($workSpace);
|
$this->migrateSingleton($workSpace);
|
||||||
$stop = microtime(true);
|
$stop = microtime(true);
|
||||||
CLI::logging("<*> Migrating and populating plugin singleton data took " . ($stop - $start) . " seconds.\n");
|
CLI::logging("<*> Migrating and populating plugin singleton data took " . ($stop - $start) . " seconds.\n");
|
||||||
|
|
||||||
|
$includeDynContent = isset($optionMigrateHistoryData['includeDynContent']) && $optionMigrateHistoryData['includeDynContent'] === true;
|
||||||
|
$start = microtime(true);
|
||||||
|
CLI::logging("> Migrating history data...\n");
|
||||||
|
$this->migrateAppHistoryToAppDataChangeLog(false, !$includeDynContent);
|
||||||
|
$stop = microtime(true);
|
||||||
|
CLI::logging("<*> Migrating history data took " . ($stop - $start) . " seconds.\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1806,7 +1814,7 @@ class WorkspaceTools
|
|||||||
* @param string $lang for define the language
|
* @param string $lang for define the language
|
||||||
* @param string $port of database if is empty take 3306
|
* @param string $port of database if is empty take 3306
|
||||||
*/
|
*/
|
||||||
public static function restore($filename, $srcWorkspace, $dstWorkspace = null, $overwrite = true, $lang = 'en', $port = '')
|
public static function restore($filename, $srcWorkspace, $dstWorkspace = null, $overwrite = true, $lang = 'en', $port = '', $optionMigrateHistoryData = [])
|
||||||
{
|
{
|
||||||
$backup = new Archive_Tar($filename);
|
$backup = new Archive_Tar($filename);
|
||||||
//Get a temporary directory in the upgrade directory
|
//Get a temporary directory in the upgrade directory
|
||||||
@@ -2054,6 +2062,12 @@ class WorkspaceTools
|
|||||||
//Updating generated class files for PM Tables
|
//Updating generated class files for PM Tables
|
||||||
passthru(PHP_BINARY . ' processmaker regenerate-pmtable-classes ' . $workspace->name);
|
passthru(PHP_BINARY . ' processmaker regenerate-pmtable-classes ' . $workspace->name);
|
||||||
|
|
||||||
|
$includeDynContent = isset($optionMigrateHistoryData['includeDynContent']) && $optionMigrateHistoryData['includeDynContent'] === true;
|
||||||
|
$start = microtime(true);
|
||||||
|
CLI::logging("> Migrating history data...\n");
|
||||||
|
$workspace->migrateAppHistoryToAppDataChangeLog(false, !$includeDynContent);
|
||||||
|
$stop = microtime(true);
|
||||||
|
CLI::logging("<*> Migrating history data took " . ($stop - $start) . " seconds.\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
CLI::logging("Removing temporary files\n");
|
CLI::logging("Removing temporary files\n");
|
||||||
@@ -4194,4 +4208,163 @@ class WorkspaceTools
|
|||||||
$this->setLastContentMigrateTable(true);
|
$this->setLastContentMigrateTable(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Migrate the contents of table APP_HISTORY to table APP_DATA_CHANGE_LOG.
|
||||||
|
*
|
||||||
|
* @param boolean $force
|
||||||
|
* @param boolean $removedDynContentHistory
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function migrateAppHistoryToAppDataChangeLog($force = false, $removedDynContentHistory = false)
|
||||||
|
{
|
||||||
|
$this->initPropel(true);
|
||||||
|
|
||||||
|
$conf = new Configurations();
|
||||||
|
$exist = $conf->exists('MIGRATED_APP_HISTORY', 'history');
|
||||||
|
if ($exist === true && $force === false) {
|
||||||
|
$config = (object) $conf->load('MIGRATED_APP_HISTORY', 'history');
|
||||||
|
if ($config->updated) {
|
||||||
|
CLI::logging("> This was previously updated.\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$remove = ""
|
||||||
|
. "CONCAT( "
|
||||||
|
. " SUBSTRING_INDEX(A.HISTORY_DATA, ':', 1), "
|
||||||
|
. " ':', "
|
||||||
|
. " CAST( "
|
||||||
|
. " SUBSTRING( "
|
||||||
|
. " SUBSTRING_INDEX(A.HISTORY_DATA, ':{', 1), "
|
||||||
|
. " LOCATE(':', A.HISTORY_DATA)+1 "
|
||||||
|
. " ) AS SIGNED "
|
||||||
|
. " )-1, "
|
||||||
|
. " SUBSTRING( "
|
||||||
|
. " CONCAT( "
|
||||||
|
. " SUBSTRING_INDEX(A.HISTORY_DATA, 's:19:\"DYN_CONTENT_HISTORY\";s:', 1), "
|
||||||
|
. " SUBSTRING( "
|
||||||
|
. " SUBSTRING( "
|
||||||
|
. " A.HISTORY_DATA, "
|
||||||
|
. " LOCATE('s:19:\"DYN_CONTENT_HISTORY\";s:', A.HISTORY_DATA)+29 "
|
||||||
|
. " ), "
|
||||||
|
. " LOCATE( "
|
||||||
|
. " '\";', "
|
||||||
|
. " SUBSTRING( "
|
||||||
|
. " A.HISTORY_DATA, "
|
||||||
|
. " LOCATE('s:19:\"DYN_CONTENT_HISTORY\";s:', A.HISTORY_DATA)+29 "
|
||||||
|
. " ) "
|
||||||
|
. " )+2 "
|
||||||
|
. " ) "
|
||||||
|
. " ), "
|
||||||
|
. " LOCATE(':{', A.HISTORY_DATA) "
|
||||||
|
. " ) "
|
||||||
|
. ") ";
|
||||||
|
|
||||||
|
$select = ""
|
||||||
|
. "SELECT "
|
||||||
|
. "A.HISTORY_DATE AS 'DATE', "
|
||||||
|
. "B.APP_NUMBER AS 'APP_NUMBER', "
|
||||||
|
. "A.DEL_INDEX AS 'DEL_INDEX', "
|
||||||
|
. "C.PRO_ID AS 'PRO_ID', "
|
||||||
|
. "D.TAS_ID AS 'TAS_ID', "
|
||||||
|
. "E.USR_ID AS 'USR_ID', "
|
||||||
|
. "IF( "
|
||||||
|
. " A.OBJ_TYPE='DYNAFORM', "
|
||||||
|
. " " . ChangeLog::DYNAFORM . ", "
|
||||||
|
. " IF( "
|
||||||
|
. " A.OBJ_TYPE='OUTPUT_DOCUMENT', "
|
||||||
|
. " " . ChangeLog::OUTPUT_DOCUMENT . ", "
|
||||||
|
. " IF( "
|
||||||
|
. " A.OBJ_TYPE='INPUT_DOCUMENT', "
|
||||||
|
. " " . ChangeLog::INPUT_DOCUMENT . ", "
|
||||||
|
. " IF( "
|
||||||
|
. " A.OBJ_TYPE='ASSIGN_TASK', "
|
||||||
|
. " " . ChangeLog::TRIGGER . ", "
|
||||||
|
. " IF( "
|
||||||
|
. " A.OBJ_TYPE='EXTERNAL', "
|
||||||
|
. " " . ChangeLog::EXTERNAL_STEP . ", "
|
||||||
|
. " 0 "
|
||||||
|
. " ) "
|
||||||
|
. " ) "
|
||||||
|
. " ) "
|
||||||
|
. " ) "
|
||||||
|
. ") AS 'OBJECT_TYPE', "
|
||||||
|
. "IF( "
|
||||||
|
. " F.DYN_ID IS NOT NULL, "
|
||||||
|
. " F.DYN_ID, "
|
||||||
|
. " IF( "
|
||||||
|
. " G.OUT_DOC_ID IS NOT NULL, "
|
||||||
|
. " G.OUT_DOC_ID, "
|
||||||
|
. " IF( "
|
||||||
|
. " H.INP_DOC_ID IS NOT NULL, "
|
||||||
|
. " H.INP_DOC_ID, "
|
||||||
|
. " 0 "
|
||||||
|
. " ) "
|
||||||
|
. " ) "
|
||||||
|
. ") AS 'OBJECT_ID', "
|
||||||
|
. "IF( "
|
||||||
|
. " A.DYN_UID='-1' OR A.DYN_UID='-2', "
|
||||||
|
. " 0,"
|
||||||
|
. " A.DYN_UID "
|
||||||
|
. ") AS 'OBJECT_UID', "
|
||||||
|
. "IF( "
|
||||||
|
. " A.DYN_UID='-1', "
|
||||||
|
. " " . ChangeLog::BEFORE_ASSIGNMENT . ", "
|
||||||
|
. " IF( "
|
||||||
|
. " A.DYN_UID='-2', "
|
||||||
|
. " " . ChangeLog::UNKNOW_STEP . ", "
|
||||||
|
. " " . ChangeLog::UNKNOW_STEP . " "
|
||||||
|
. " ) "
|
||||||
|
. ") AS 'EXECUTED_AT', "
|
||||||
|
. "" . ChangeLog::FromWeb . " AS 'SOURCE_ID', "
|
||||||
|
. "IF(LOCATE('DYN_CONTENT_HISTORY',A.HISTORY_DATA)>0 AND " . ($removedDynContentHistory ? 'true' : 'false') . "=true, " . $remove . ", A.HISTORY_DATA) AS 'DATA', "
|
||||||
|
. "IF(LOCATE('SYS_SKIN',B.APP_DATA)>0, SUBSTRING_INDEX(SUBSTRING(B.APP_DATA, LOCATE('SYS_SKIN',B.APP_DATA)+16),'\"',1), '') AS 'SKIN', "
|
||||||
|
. "IF(LOCATE('SYS_LANG',B.APP_DATA)>0, SUBSTRING(B.APP_DATA, LOCATE('SYS_LANG',B.APP_DATA)+15,2), '') AS 'LANGUAGE', "
|
||||||
|
. "1 AS ROW_MIGRATION "
|
||||||
|
. "FROM " . $this->dbName . ".APP_HISTORY AS A "
|
||||||
|
. "LEFT JOIN " . $this->dbName . ".APPLICATION AS B ON (B.APP_UID=A.APP_UID) "
|
||||||
|
. "LEFT JOIN " . $this->dbName . ".PROCESS AS C ON (C.PRO_UID=A.PRO_UID) "
|
||||||
|
. "LEFT JOIN " . $this->dbName . ".TASK AS D ON (D.TAS_UID=A.TAS_UID) "
|
||||||
|
. "LEFT JOIN " . $this->dbName . ".USERS AS E ON (E.USR_UID=A.USR_UID) "
|
||||||
|
. "LEFT JOIN " . $this->dbName . ".DYNAFORM AS F ON (F.DYN_UID=A.DYN_UID) "
|
||||||
|
. "LEFT JOIN " . $this->dbName . ".OUTPUT_DOCUMENT AS G ON (G.OUT_DOC_UID=A.DYN_UID) "
|
||||||
|
. "LEFT JOIN " . $this->dbName . ".INPUT_DOCUMENT AS H ON (H.INP_DOC_UID=A.DYN_UID) ";
|
||||||
|
|
||||||
|
$delete = ""
|
||||||
|
. "DELETE FROM " . $this->dbName . ".APP_DATA_CHANGE_LOG "
|
||||||
|
. "WHERE "
|
||||||
|
. "ROW_MIGRATION=1";
|
||||||
|
|
||||||
|
$insert = ""
|
||||||
|
. "INSERT INTO " . $this->dbName . ".APP_DATA_CHANGE_LOG ( "
|
||||||
|
. " DATE, "
|
||||||
|
. " APP_NUMBER, "
|
||||||
|
. " DEL_INDEX, "
|
||||||
|
. " PRO_ID, "
|
||||||
|
. " TAS_ID, "
|
||||||
|
. " USR_ID, "
|
||||||
|
. " OBJECT_TYPE, "
|
||||||
|
. " OBJECT_ID, "
|
||||||
|
. " OBJECT_UID, "
|
||||||
|
. " EXECUTED_AT, "
|
||||||
|
. " SOURCE_ID, "
|
||||||
|
. " DATA, "
|
||||||
|
. " SKIN, "
|
||||||
|
. " LANGUAGE, "
|
||||||
|
. " ROW_MIGRATION "
|
||||||
|
. ") "
|
||||||
|
. $select;
|
||||||
|
|
||||||
|
$con = Propel::getConnection("workflow");
|
||||||
|
$stmt = $con->createStatement();
|
||||||
|
$stmt->executeQuery($delete);
|
||||||
|
CLI::logging("-> Table cleaning finished for " . $this->dbName . ".APP_DATA_CHANGE_LOG\n");
|
||||||
|
$stmt = $con->createStatement();
|
||||||
|
$stmt->executeQuery($insert);
|
||||||
|
CLI::logging("-> Completed migration in table " . $this->dbName . ".APP_DATA_CHANGE_LOG\n");
|
||||||
|
|
||||||
|
$conf->aConfig = ['updated' => true];
|
||||||
|
$conf->saveConfig('MIGRATED_APP_HISTORY', 'history');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -95,6 +95,8 @@ class AppDataChangeLogMapBuilder
|
|||||||
|
|
||||||
$tMap->addColumn('LANGUAGE', 'Language', 'string', CreoleTypes::VARCHAR, false, 32);
|
$tMap->addColumn('LANGUAGE', 'Language', 'string', CreoleTypes::VARCHAR, false, 32);
|
||||||
|
|
||||||
|
$tMap->addColumn('ROW_MIGRATION', 'RowMigration', 'int', CreoleTypes::INTEGER, false, null);
|
||||||
|
|
||||||
} // doBuild()
|
} // doBuild()
|
||||||
|
|
||||||
} // AppDataChangeLogMapBuilder
|
} // AppDataChangeLogMapBuilder
|
||||||
|
|||||||
@@ -117,6 +117,12 @@ abstract class BaseAppDataChangeLog extends BaseObject implements Persistent
|
|||||||
*/
|
*/
|
||||||
protected $language = '';
|
protected $language = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The value for the row_migration field.
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
protected $row_migration = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Flag to prevent endless save loop, if this object is referenced
|
* Flag to prevent endless save loop, if this object is referenced
|
||||||
* by another object which falls in this transaction.
|
* by another object which falls in this transaction.
|
||||||
@@ -317,6 +323,17 @@ abstract class BaseAppDataChangeLog extends BaseObject implements Persistent
|
|||||||
return $this->language;
|
return $this->language;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the [row_migration] column value.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getRowMigration()
|
||||||
|
{
|
||||||
|
|
||||||
|
return $this->row_migration;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the value of [change_log_id] column.
|
* Set the value of [change_log_id] column.
|
||||||
*
|
*
|
||||||
@@ -654,6 +671,28 @@ abstract class BaseAppDataChangeLog extends BaseObject implements Persistent
|
|||||||
|
|
||||||
} // setLanguage()
|
} // setLanguage()
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the value of [row_migration] column.
|
||||||
|
*
|
||||||
|
* @param int $v new value
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function setRowMigration($v)
|
||||||
|
{
|
||||||
|
|
||||||
|
// Since the native PHP type for this column is integer,
|
||||||
|
// we will cast the input value to an int (if it is not).
|
||||||
|
if ($v !== null && !is_int($v) && is_numeric($v)) {
|
||||||
|
$v = (int) $v;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($this->row_migration !== $v || $v === 0) {
|
||||||
|
$this->row_migration = $v;
|
||||||
|
$this->modifiedColumns[] = AppDataChangeLogPeer::ROW_MIGRATION;
|
||||||
|
}
|
||||||
|
|
||||||
|
} // setRowMigration()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hydrates (populates) the object variables with values from the database resultset.
|
* Hydrates (populates) the object variables with values from the database resultset.
|
||||||
*
|
*
|
||||||
@@ -701,12 +740,14 @@ abstract class BaseAppDataChangeLog extends BaseObject implements Persistent
|
|||||||
|
|
||||||
$this->language = $rs->getString($startcol + 14);
|
$this->language = $rs->getString($startcol + 14);
|
||||||
|
|
||||||
|
$this->row_migration = $rs->getInt($startcol + 15);
|
||||||
|
|
||||||
$this->resetModified();
|
$this->resetModified();
|
||||||
|
|
||||||
$this->setNew(false);
|
$this->setNew(false);
|
||||||
|
|
||||||
// FIXME - using NUM_COLUMNS may be clearer.
|
// FIXME - using NUM_COLUMNS may be clearer.
|
||||||
return $startcol + 15; // 15 = AppDataChangeLogPeer::NUM_COLUMNS - AppDataChangeLogPeer::NUM_LAZY_LOAD_COLUMNS).
|
return $startcol + 16; // 16 = AppDataChangeLogPeer::NUM_COLUMNS - AppDataChangeLogPeer::NUM_LAZY_LOAD_COLUMNS).
|
||||||
|
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
throw new PropelException("Error populating AppDataChangeLog object", $e);
|
throw new PropelException("Error populating AppDataChangeLog object", $e);
|
||||||
@@ -957,6 +998,9 @@ abstract class BaseAppDataChangeLog extends BaseObject implements Persistent
|
|||||||
case 14:
|
case 14:
|
||||||
return $this->getLanguage();
|
return $this->getLanguage();
|
||||||
break;
|
break;
|
||||||
|
case 15:
|
||||||
|
return $this->getRowMigration();
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return null;
|
return null;
|
||||||
break;
|
break;
|
||||||
@@ -992,6 +1036,7 @@ abstract class BaseAppDataChangeLog extends BaseObject implements Persistent
|
|||||||
$keys[12] => $this->getData(),
|
$keys[12] => $this->getData(),
|
||||||
$keys[13] => $this->getSkin(),
|
$keys[13] => $this->getSkin(),
|
||||||
$keys[14] => $this->getLanguage(),
|
$keys[14] => $this->getLanguage(),
|
||||||
|
$keys[15] => $this->getRowMigration(),
|
||||||
);
|
);
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
@@ -1068,6 +1113,9 @@ abstract class BaseAppDataChangeLog extends BaseObject implements Persistent
|
|||||||
case 14:
|
case 14:
|
||||||
$this->setLanguage($value);
|
$this->setLanguage($value);
|
||||||
break;
|
break;
|
||||||
|
case 15:
|
||||||
|
$this->setRowMigration($value);
|
||||||
|
break;
|
||||||
} // switch()
|
} // switch()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1151,6 +1199,10 @@ abstract class BaseAppDataChangeLog extends BaseObject implements Persistent
|
|||||||
$this->setLanguage($arr[$keys[14]]);
|
$this->setLanguage($arr[$keys[14]]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (array_key_exists($keys[15], $arr)) {
|
||||||
|
$this->setRowMigration($arr[$keys[15]]);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1222,6 +1274,10 @@ abstract class BaseAppDataChangeLog extends BaseObject implements Persistent
|
|||||||
$criteria->add(AppDataChangeLogPeer::LANGUAGE, $this->language);
|
$criteria->add(AppDataChangeLogPeer::LANGUAGE, $this->language);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($this->isColumnModified(AppDataChangeLogPeer::ROW_MIGRATION)) {
|
||||||
|
$criteria->add(AppDataChangeLogPeer::ROW_MIGRATION, $this->row_migration);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return $criteria;
|
return $criteria;
|
||||||
}
|
}
|
||||||
@@ -1304,6 +1360,8 @@ abstract class BaseAppDataChangeLog extends BaseObject implements Persistent
|
|||||||
|
|
||||||
$copyObj->setLanguage($this->language);
|
$copyObj->setLanguage($this->language);
|
||||||
|
|
||||||
|
$copyObj->setRowMigration($this->row_migration);
|
||||||
|
|
||||||
|
|
||||||
$copyObj->setNew(true);
|
$copyObj->setNew(true);
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ abstract class BaseAppDataChangeLogPeer
|
|||||||
const CLASS_DEFAULT = 'classes.model.AppDataChangeLog';
|
const CLASS_DEFAULT = 'classes.model.AppDataChangeLog';
|
||||||
|
|
||||||
/** The total number of columns. */
|
/** The total number of columns. */
|
||||||
const NUM_COLUMNS = 15;
|
const NUM_COLUMNS = 16;
|
||||||
|
|
||||||
/** The number of lazy-loaded columns. */
|
/** The number of lazy-loaded columns. */
|
||||||
const NUM_LAZY_LOAD_COLUMNS = 0;
|
const NUM_LAZY_LOAD_COLUMNS = 0;
|
||||||
@@ -76,6 +76,9 @@ abstract class BaseAppDataChangeLogPeer
|
|||||||
/** the column name for the LANGUAGE field */
|
/** the column name for the LANGUAGE field */
|
||||||
const LANGUAGE = 'APP_DATA_CHANGE_LOG.LANGUAGE';
|
const LANGUAGE = 'APP_DATA_CHANGE_LOG.LANGUAGE';
|
||||||
|
|
||||||
|
/** the column name for the ROW_MIGRATION field */
|
||||||
|
const ROW_MIGRATION = 'APP_DATA_CHANGE_LOG.ROW_MIGRATION';
|
||||||
|
|
||||||
/** The PHP to DB Name Mapping */
|
/** The PHP to DB Name Mapping */
|
||||||
private static $phpNameMap = null;
|
private static $phpNameMap = null;
|
||||||
|
|
||||||
@@ -87,10 +90,10 @@ abstract class BaseAppDataChangeLogPeer
|
|||||||
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
|
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
|
||||||
*/
|
*/
|
||||||
private static $fieldNames = array (
|
private static $fieldNames = array (
|
||||||
BasePeer::TYPE_PHPNAME => array ('ChangeLogId', 'Date', 'AppNumber', 'DelIndex', 'ProId', 'TasId', 'UsrId', 'ObjectType', 'ObjectId', 'ObjectUid', 'ExecutedAt', 'SourceId', 'Data', 'Skin', 'Language', ),
|
BasePeer::TYPE_PHPNAME => array ('ChangeLogId', 'Date', 'AppNumber', 'DelIndex', 'ProId', 'TasId', 'UsrId', 'ObjectType', 'ObjectId', 'ObjectUid', 'ExecutedAt', 'SourceId', 'Data', 'Skin', 'Language', 'RowMigration', ),
|
||||||
BasePeer::TYPE_COLNAME => array (AppDataChangeLogPeer::CHANGE_LOG_ID, AppDataChangeLogPeer::DATE, AppDataChangeLogPeer::APP_NUMBER, AppDataChangeLogPeer::DEL_INDEX, AppDataChangeLogPeer::PRO_ID, AppDataChangeLogPeer::TAS_ID, AppDataChangeLogPeer::USR_ID, AppDataChangeLogPeer::OBJECT_TYPE, AppDataChangeLogPeer::OBJECT_ID, AppDataChangeLogPeer::OBJECT_UID, AppDataChangeLogPeer::EXECUTED_AT, AppDataChangeLogPeer::SOURCE_ID, AppDataChangeLogPeer::DATA, AppDataChangeLogPeer::SKIN, AppDataChangeLogPeer::LANGUAGE, ),
|
BasePeer::TYPE_COLNAME => array (AppDataChangeLogPeer::CHANGE_LOG_ID, AppDataChangeLogPeer::DATE, AppDataChangeLogPeer::APP_NUMBER, AppDataChangeLogPeer::DEL_INDEX, AppDataChangeLogPeer::PRO_ID, AppDataChangeLogPeer::TAS_ID, AppDataChangeLogPeer::USR_ID, AppDataChangeLogPeer::OBJECT_TYPE, AppDataChangeLogPeer::OBJECT_ID, AppDataChangeLogPeer::OBJECT_UID, AppDataChangeLogPeer::EXECUTED_AT, AppDataChangeLogPeer::SOURCE_ID, AppDataChangeLogPeer::DATA, AppDataChangeLogPeer::SKIN, AppDataChangeLogPeer::LANGUAGE, AppDataChangeLogPeer::ROW_MIGRATION, ),
|
||||||
BasePeer::TYPE_FIELDNAME => array ('CHANGE_LOG_ID', 'DATE', 'APP_NUMBER', 'DEL_INDEX', 'PRO_ID', 'TAS_ID', 'USR_ID', 'OBJECT_TYPE', 'OBJECT_ID', 'OBJECT_UID', 'EXECUTED_AT', 'SOURCE_ID', 'DATA', 'SKIN', 'LANGUAGE', ),
|
BasePeer::TYPE_FIELDNAME => array ('CHANGE_LOG_ID', 'DATE', 'APP_NUMBER', 'DEL_INDEX', 'PRO_ID', 'TAS_ID', 'USR_ID', 'OBJECT_TYPE', 'OBJECT_ID', 'OBJECT_UID', 'EXECUTED_AT', 'SOURCE_ID', 'DATA', 'SKIN', 'LANGUAGE', 'ROW_MIGRATION', ),
|
||||||
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, )
|
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, )
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -100,10 +103,10 @@ abstract class BaseAppDataChangeLogPeer
|
|||||||
* e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0
|
* e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0
|
||||||
*/
|
*/
|
||||||
private static $fieldKeys = array (
|
private static $fieldKeys = array (
|
||||||
BasePeer::TYPE_PHPNAME => array ('ChangeLogId' => 0, 'Date' => 1, 'AppNumber' => 2, 'DelIndex' => 3, 'ProId' => 4, 'TasId' => 5, 'UsrId' => 6, 'ObjectType' => 7, 'ObjectId' => 8, 'ObjectUid' => 9, 'ExecutedAt' => 10, 'SourceId' => 11, 'Data' => 12, 'Skin' => 13, 'Language' => 14, ),
|
BasePeer::TYPE_PHPNAME => array ('ChangeLogId' => 0, 'Date' => 1, 'AppNumber' => 2, 'DelIndex' => 3, 'ProId' => 4, 'TasId' => 5, 'UsrId' => 6, 'ObjectType' => 7, 'ObjectId' => 8, 'ObjectUid' => 9, 'ExecutedAt' => 10, 'SourceId' => 11, 'Data' => 12, 'Skin' => 13, 'Language' => 14, 'RowMigration' => 15, ),
|
||||||
BasePeer::TYPE_COLNAME => array (AppDataChangeLogPeer::CHANGE_LOG_ID => 0, AppDataChangeLogPeer::DATE => 1, AppDataChangeLogPeer::APP_NUMBER => 2, AppDataChangeLogPeer::DEL_INDEX => 3, AppDataChangeLogPeer::PRO_ID => 4, AppDataChangeLogPeer::TAS_ID => 5, AppDataChangeLogPeer::USR_ID => 6, AppDataChangeLogPeer::OBJECT_TYPE => 7, AppDataChangeLogPeer::OBJECT_ID => 8, AppDataChangeLogPeer::OBJECT_UID => 9, AppDataChangeLogPeer::EXECUTED_AT => 10, AppDataChangeLogPeer::SOURCE_ID => 11, AppDataChangeLogPeer::DATA => 12, AppDataChangeLogPeer::SKIN => 13, AppDataChangeLogPeer::LANGUAGE => 14, ),
|
BasePeer::TYPE_COLNAME => array (AppDataChangeLogPeer::CHANGE_LOG_ID => 0, AppDataChangeLogPeer::DATE => 1, AppDataChangeLogPeer::APP_NUMBER => 2, AppDataChangeLogPeer::DEL_INDEX => 3, AppDataChangeLogPeer::PRO_ID => 4, AppDataChangeLogPeer::TAS_ID => 5, AppDataChangeLogPeer::USR_ID => 6, AppDataChangeLogPeer::OBJECT_TYPE => 7, AppDataChangeLogPeer::OBJECT_ID => 8, AppDataChangeLogPeer::OBJECT_UID => 9, AppDataChangeLogPeer::EXECUTED_AT => 10, AppDataChangeLogPeer::SOURCE_ID => 11, AppDataChangeLogPeer::DATA => 12, AppDataChangeLogPeer::SKIN => 13, AppDataChangeLogPeer::LANGUAGE => 14, AppDataChangeLogPeer::ROW_MIGRATION => 15, ),
|
||||||
BasePeer::TYPE_FIELDNAME => array ('CHANGE_LOG_ID' => 0, 'DATE' => 1, 'APP_NUMBER' => 2, 'DEL_INDEX' => 3, 'PRO_ID' => 4, 'TAS_ID' => 5, 'USR_ID' => 6, 'OBJECT_TYPE' => 7, 'OBJECT_ID' => 8, 'OBJECT_UID' => 9, 'EXECUTED_AT' => 10, 'SOURCE_ID' => 11, 'DATA' => 12, 'SKIN' => 13, 'LANGUAGE' => 14, ),
|
BasePeer::TYPE_FIELDNAME => array ('CHANGE_LOG_ID' => 0, 'DATE' => 1, 'APP_NUMBER' => 2, 'DEL_INDEX' => 3, 'PRO_ID' => 4, 'TAS_ID' => 5, 'USR_ID' => 6, 'OBJECT_TYPE' => 7, 'OBJECT_ID' => 8, 'OBJECT_UID' => 9, 'EXECUTED_AT' => 10, 'SOURCE_ID' => 11, 'DATA' => 12, 'SKIN' => 13, 'LANGUAGE' => 14, 'ROW_MIGRATION' => 15, ),
|
||||||
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, )
|
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, )
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -234,6 +237,8 @@ abstract class BaseAppDataChangeLogPeer
|
|||||||
|
|
||||||
$criteria->addSelectColumn(AppDataChangeLogPeer::LANGUAGE);
|
$criteria->addSelectColumn(AppDataChangeLogPeer::LANGUAGE);
|
||||||
|
|
||||||
|
$criteria->addSelectColumn(AppDataChangeLogPeer::ROW_MIGRATION);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const COUNT = 'COUNT(APP_DATA_CHANGE_LOG.CHANGE_LOG_ID)';
|
const COUNT = 'COUNT(APP_DATA_CHANGE_LOG.CHANGE_LOG_ID)';
|
||||||
|
|||||||
@@ -5781,6 +5781,7 @@
|
|||||||
<column name="DATA" type="LONGVARCHAR" required="true"/>
|
<column name="DATA" type="LONGVARCHAR" required="true"/>
|
||||||
<column name="SKIN" type="VARCHAR" size="32" default="" required="false"/>
|
<column name="SKIN" type="VARCHAR" size="32" default="" required="false"/>
|
||||||
<column name="LANGUAGE" type="VARCHAR" size="32" default="" required="false"/>
|
<column name="LANGUAGE" type="VARCHAR" size="32" default="" required="false"/>
|
||||||
|
<column name="ROW_MIGRATION" type="INTEGER" default="0" required="false"/>
|
||||||
<index name="indexAppNumber">
|
<index name="indexAppNumber">
|
||||||
<index-column name="APP_NUMBER"/>
|
<index-column name="APP_NUMBER"/>
|
||||||
</index>
|
</index>
|
||||||
|
|||||||
@@ -61536,6 +61536,7 @@ INSERT INTO CONFIGURATION (CFG_UID,OBJ_UID,CFG_VALUE,PRO_UID,USR_UID,APP_UID) VA
|
|||||||
('AUDIT_LOG','log','s:5:"false";','','',''),
|
('AUDIT_LOG','log','s:5:"false";','','',''),
|
||||||
('ENTERPRISE_SETTING_ENCRYPT','','a:2:{s:7:"current";s:6:"sha256";s:8:"previous";s:3:"md5";}','','',''),
|
('ENTERPRISE_SETTING_ENCRYPT','','a:2:{s:7:"current";s:6:"sha256";s:8:"previous";s:3:"md5";}','','',''),
|
||||||
('ENVIRONMENT_SETTINGS','','a:1:{s:18:"directoryStructure";i:2;}','','',''),
|
('ENVIRONMENT_SETTINGS','','a:1:{s:18:"directoryStructure";i:2;}','','',''),
|
||||||
|
('MIGRATED_APP_HISTORY', 'history', 'a:1:{s:7:\"updated\";b:1;}', '', '', ''),
|
||||||
('MIGRATED_CONTENT','content','a:12:{i:0;s:7:"Groupwf";i:1;s:7:"Process";i:2;s:10:"Department";i:3;s:4:"Task";i:4;s:13:"InputDocument";i:5;s:11:"Application";i:6;s:11:"AppDocument";i:7;s:8:"Dynaform";i:8;s:14:"OutputDocument";i:9;s:11:"ReportTable";i:10;s:8:"Triggers";i:11;s:41:"\\ProcessMaker\\BusinessModel\\WebEntryEvent";}','','',''),
|
('MIGRATED_CONTENT','content','a:12:{i:0;s:7:"Groupwf";i:1;s:7:"Process";i:2;s:10:"Department";i:3;s:4:"Task";i:4;s:13:"InputDocument";i:5;s:11:"Application";i:6;s:11:"AppDocument";i:7;s:8:"Dynaform";i:8;s:14:"OutputDocument";i:9;s:11:"ReportTable";i:10;s:8:"Triggers";i:11;s:41:"\\ProcessMaker\\BusinessModel\\WebEntryEvent";}','','',''),
|
||||||
('MIGRATED_LIST','list','true','list','list','list'),
|
('MIGRATED_LIST','list','true','list','list','list'),
|
||||||
('MIGRATED_LIST_UNASSIGNED','list','true','list','list','list'),
|
('MIGRATED_LIST_UNASSIGNED','list','true','list','list','list'),
|
||||||
|
|||||||
@@ -2303,7 +2303,7 @@ CREATE TABLE `ADDONS_MANAGER`
|
|||||||
`ADDON_NICK` VARCHAR(255) NOT NULL,
|
`ADDON_NICK` VARCHAR(255) NOT NULL,
|
||||||
`ADDON_DOWNLOAD_FILENAME` VARCHAR(1024),
|
`ADDON_DOWNLOAD_FILENAME` VARCHAR(1024),
|
||||||
`ADDON_DESCRIPTION` VARCHAR(2048),
|
`ADDON_DESCRIPTION` VARCHAR(2048),
|
||||||
`ADDON_STATE` VARCHAR(255) NOT NULL DEFAULT '',
|
`ADDON_STATE` VARCHAR(255) default '' NOT NULL,
|
||||||
`ADDON_STATE_CHANGED` DATETIME,
|
`ADDON_STATE_CHANGED` DATETIME,
|
||||||
`ADDON_STATUS` VARCHAR(255) NOT NULL,
|
`ADDON_STATUS` VARCHAR(255) NOT NULL,
|
||||||
`ADDON_VERSION` VARCHAR(255) NOT NULL,
|
`ADDON_VERSION` VARCHAR(255) NOT NULL,
|
||||||
@@ -3222,6 +3222,7 @@ CREATE TABLE `APP_DATA_CHANGE_LOG`
|
|||||||
`DATA` MEDIUMTEXT NOT NULL,
|
`DATA` MEDIUMTEXT NOT NULL,
|
||||||
`SKIN` VARCHAR(32) default '',
|
`SKIN` VARCHAR(32) default '',
|
||||||
`LANGUAGE` VARCHAR(32) default '',
|
`LANGUAGE` VARCHAR(32) default '',
|
||||||
|
`ROW_MIGRATION` INTEGER default 0,
|
||||||
PRIMARY KEY (`CHANGE_LOG_ID`),
|
PRIMARY KEY (`CHANGE_LOG_ID`),
|
||||||
KEY `indexAppNumber`(`APP_NUMBER`),
|
KEY `indexAppNumber`(`APP_NUMBER`),
|
||||||
KEY `indexDelIndex`(`DEL_INDEX`),
|
KEY `indexDelIndex`(`DEL_INDEX`),
|
||||||
|
|||||||
@@ -571,6 +571,7 @@ class ChangeLog
|
|||||||
$appDataChangeLog->setData($this->getData());
|
$appDataChangeLog->setData($this->getData());
|
||||||
$appDataChangeLog->setSkin($this->getSkin());
|
$appDataChangeLog->setSkin($this->getSkin());
|
||||||
$appDataChangeLog->setLanguage($this->getLanguage());
|
$appDataChangeLog->setLanguage($this->getLanguage());
|
||||||
|
$appDataChangeLog->setRowMigration(0);
|
||||||
$appDataChangeLog->save();
|
$appDataChangeLog->save();
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user