2016-11-26 17 views
0

プラグインがすでにapp-storeのユーザーによって使用されていると仮定すると、ユーザーが持つデータを保持しながらデータベースを更新する簡単な方法はありますか?データベースを消去してすべてのレコードを削除することは、まさに理想的なシナリオではありません。WordPressプラグインデータベースを更新する

具体的な操作は、既存のレコードに既知の値を持つ列を追加することです。

+1

はい、プラグインのバージョンを更新し、新しいコードに新しい列を追加してください。 – Erevald

+0

新しい列を追加するコードはどこに入れますか?以前は、データベースがアクティブプラグインクラスでインスタンス化されていました。このクラスは、テーブルが存在するかどうかを確認し、それに応じて動作します。 – mdobrenko

+0

ここで回答が見つかります:https://wordpress.stackexchange.com/questions/67345/how-to-implement-wordpress-plugin-update-that-modifies-the-database – Cedric

答えて

1

これにはさまざまな方法があります。 1つの方法は、プラグインのバージョンを比較し、そこでの移行を行うことです。それが完了したら、バージョンを更新しないようにバージョンを更新してください。

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 
} 
関連する問題