Skip to content
This repository was archived by the owner on Sep 10, 2021. It is now read-only.

Commit b47ea69

Browse files
author
mgrauer
committed
Migrate tracker scalar params in 1.2.2 upgrade
1 parent 7dc34cd commit b47ea69

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

modules/tracker/database/upgrade/1.2.2.php

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ public function mysql()
3535
PRIMARY KEY (`param_id`),
3636
KEY (`param_name`)
3737
) DEFAULT CHARSET=utf8;");
38+
$this->migrateScalarParams();
39+
$this->db->query('ALTER TABLE `tracker_scalar` DROP `params`');
3840
}
3941

4042
/** Upgrade a PostgreSQL database. */
@@ -50,5 +52,37 @@ public function pgsql()
5052
numeric_value double precision);"
5153
);
5254
$this->db->query('CREATE INDEX tracker_param_param_name_idx ON tracker_param (param_name);');
55+
$this->migrateScalarParams();
56+
$this->db->query('ALTER TABLE tracker_scalar DROP COLUMN params;');
57+
}
58+
59+
/** Migrate tracker_scalar params to tracker_param. */
60+
private function migrateScalarParams()
61+
{
62+
$count = 0;
63+
$logger = Zend_Registry::get('logger');
64+
$logger->debug('migrateScalarParams');
65+
/** @var Tracker_ParamModel $paramModel */
66+
$paramModel = MidasLoader::loadModel('Param', $this->moduleName);
67+
$uresult = $this->db->query('SELECT scalar_id, params from tracker_scalar where params is not null');
68+
if ($uresult) {
69+
while ($row = $uresult->fetch(PDO::FETCH_ASSOC)) {
70+
if ($count % 1000 == 0) {
71+
$logger->debug('Count '.$count);
72+
}
73+
++$count;
74+
$scalarId = $row['scalar_id'];
75+
$params = $row['params'];
76+
$params = json_decode($params, true);
77+
foreach ($params as $paramName => $paramValue) {
78+
/** @var Tracker_ParamDao $paramDao */
79+
$paramDao = MidasLoader::newDao('ParamDao', $this->moduleName);
80+
$paramDao->setScalarId($scalarId);
81+
$paramDao->setParamName($paramName);
82+
$paramDao->setParamValue($paramValue);
83+
$paramModel->save($paramDao);
84+
}
85+
}
86+
}
5387
}
5488
}

0 commit comments

Comments
 (0)