Add upgrade class for data migration

This commit is contained in:
champsupertramp
2016-02-25 00:07:27 +08:00
parent 283086b35d
commit dd851b9b14
3 changed files with 59 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
<?php
// If this file is called directly, abort.
if ( ! defined( 'WPINC' ) ) {
die;
}
/**
* This populates all existing UM users with meta_key `last_login` as `user_registered` if the meta key doesn't exist.
* Target Version: 1.3.39
*/
global $wpdb, $ultimatemember;
$wpdb->query('INSERT INTO '.$wpdb->usermeta.'(user_id, meta_key, meta_value)
SELECT uu.ID, "_um_last_login", uu.user_registered
FROM '.$wpdb->users.' AS uu
WHERE
uu.ID NOT IN(
SELECT user_id FROM '.$wpdb->usermeta.'
WHERE meta_key = "_um_last_login"
GROUP BY user_id
)'
);
?>
+31
View File
@@ -0,0 +1,31 @@
<?php
/**
* This class handles all functions that changes data structures and moving files
*/
class UM_Upgrade {
function __construct() {
$um_last_version_upgrade = get_option('um_last_version_upgrade');
if( ! $um_last_version_upgrade || $um_last_version_upgrade != ultimatemember_version ){
add_action( 'admin_init', array($this,'packages'),10);
}
}
/**
* Load packages
*/
public function packages( ){
$file_path = plugin_dir_path ( __FILE__ ).'packages/'.ultimatemember_version.'.php';
if( file_exists( $file_path ) ){
include_once( $file_path );
update_option( 'um_last_version_upgrade', ultimatemember_version );
}
}
}
new UM_Upgrade();
+1
View File
@@ -13,6 +13,7 @@ class UM_API {
require_once um_path . 'core/um-short-functions.php'; require_once um_path . 'core/um-short-functions.php';
if (is_admin()) { if (is_admin()) {
require_once um_path . 'admin/core/um-admin-upgrade.php';
require_once um_path . 'admin/um-admin-init.php'; require_once um_path . 'admin/um-admin-init.php';
} }