更新 WordPress 插件数据库

mdo*_*nko 0 wordpress

假设应用程序商店中的人们已经在使用某个插件,是否有一种简单的方法可以在保留用户拥有的数据的同时强制数据库更新?必须擦除数据库并删除所有记录并不是理想的情况。

所考虑的具体操作是为现有记录添加一个具有已知值的列。

任何帮助表示赞赏!

Ere*_*ald 6

有很多方法可以做到这一点。一种方法是比较插件版本并在那里进行迁移。完成后更新版本,以免重复。

function plugin_update() {
    global $plugin_version;

    if ( get_site_option( 'plugin_version' ) != $plugin_version )
        plugin_updates();


}

add_action( 'plugins_loaded', 'plugin_update' );


function plugin_updates() {
    global $wpdb, $plugin_version;

    $table_name = $wpdb->prefix . 'thetable';

    $wpdb->query(
        "ALTER TABLE $table_name
         ADD COLUMN `count` SMALLINT(6) NOT NULL
        ");

    // update option
}
Run Code Online (Sandbox Code Playgroud)