3.1.1 upgrade
parent
6aabe1eca7
commit
aaa073d9fd
|
@ -29,7 +29,7 @@
|
||||||
/**
|
/**
|
||||||
* Current PSM version
|
* Current PSM version
|
||||||
*/
|
*/
|
||||||
define('PSM_VERSION', '3.1.0');
|
define('PSM_VERSION', '3.1.1');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* URL to check for updates. Will not be checked if turned off on config page.
|
* URL to check for updates. Will not be checked if turned off on config page.
|
||||||
|
|
|
@ -78,7 +78,7 @@ class Installer {
|
||||||
|
|
||||||
// different DB version, check if the version requires any changes
|
// different DB version, check if the version requires any changes
|
||||||
// @todo this is currently a manual check for each version, similar to upgrade().. not a clean way
|
// @todo this is currently a manual check for each version, similar to upgrade().. not a clean way
|
||||||
if(version_compare($version_db, '3.1.0', '<')) {
|
if(version_compare($version_db, '3.1.1', '<')) {
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
// change database version to current version so this check won't be required next time
|
// change database version to current version so this check won't be required next time
|
||||||
|
@ -209,7 +209,7 @@ class Installer {
|
||||||
PSM_DB_PREFIX . 'log_users' => "CREATE TABLE `" . PSM_DB_PREFIX . "log_users` (
|
PSM_DB_PREFIX . 'log_users' => "CREATE TABLE `" . PSM_DB_PREFIX . "log_users` (
|
||||||
`log_id` int(11) UNSIGNED NOT NULL ,
|
`log_id` int(11) UNSIGNED NOT NULL ,
|
||||||
`user_id` int(11) UNSIGNED NOT NULL ,
|
`user_id` int(11) UNSIGNED NOT NULL ,
|
||||||
PRIMARY KEY (`log_id`, `user_id`),
|
PRIMARY KEY (`log_id`, `user_id`)
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;",
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;",
|
||||||
PSM_DB_PREFIX . 'servers' => "CREATE TABLE `" . PSM_DB_PREFIX . "servers` (
|
PSM_DB_PREFIX . 'servers' => "CREATE TABLE `" . PSM_DB_PREFIX . "servers` (
|
||||||
`server_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
`server_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||||
|
@ -286,6 +286,10 @@ class Installer {
|
||||||
// upgrade to 3.1.0
|
// upgrade to 3.1.0
|
||||||
$this->upgrade310();
|
$this->upgrade310();
|
||||||
}
|
}
|
||||||
|
if(version_compare($version_from, '3.1.1', '<')) {
|
||||||
|
// upgrade to 3.1.1
|
||||||
|
$this->upgrade311();
|
||||||
|
}
|
||||||
psm_update_conf('version', $version_to);
|
psm_update_conf('version', $version_to);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -425,4 +429,33 @@ class Installer {
|
||||||
|
|
||||||
$this->execSQL($queries);
|
$this->execSQL($queries);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Upgrade for v3.1.1 release (all log-users relations are in a separate table)
|
||||||
|
*/
|
||||||
|
protected function upgrade311() {
|
||||||
|
// Create log_users table
|
||||||
|
$this->execSQL("CREATE TABLE `" . PSM_DB_PREFIX . "log_users` (
|
||||||
|
`log_id` int(11) UNSIGNED NOT NULL ,
|
||||||
|
`user_id` int(11) UNSIGNED NOT NULL ,
|
||||||
|
PRIMARY KEY (`log_id`, `user_id`)
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;");
|
||||||
|
|
||||||
|
// Migrate the data
|
||||||
|
$logs = $this->db->select(PSM_DB_PREFIX . 'log', null, array('log_id', 'user_id'));
|
||||||
|
foreach ($logs as $log) {
|
||||||
|
// Validation
|
||||||
|
if (empty($log['user_id']) || trim($log['user_id']) == '') {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Insert into new table
|
||||||
|
foreach (explode(',', $log['user_id']) as $user_id) {
|
||||||
|
psm_add_log_user($log['log_id'], $user_id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Drop old user_id('s) column
|
||||||
|
$this->execSQL("ALTER TABLE `" . PSM_DB_PREFIX . "log` DROP COLUMN `user_id`;");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue