私はmediawikiAPI(例: http: //en.wikipedia.org/w/api.php)を使用しており、ローカルインストールをリセットするためにmysqlテーブルを「切り捨て」たいと考えています。テーブル(ユーザー、?...)。SQLクエリは何でしょうか?
${PREFIX}_user以外のすべてのテーブルを調整して${PREFIX}_user set user_editcount = 0を更新しますか?
他の(より安全な)提案はありますか?
私はmediawikiAPI(例: http: //en.wikipedia.org/w/api.php)を使用しており、ローカルインストールをリセットするためにmysqlテーブルを「切り捨て」たいと考えています。テーブル(ユーザー、?...)。SQLクエリは何でしょうか?
${PREFIX}_user以外のすべてのテーブルを調整して${PREFIX}_user set user_editcount = 0を更新しますか?
他の(より安全な)提案はありますか?
正解は MediaWiki メーリング リストに投稿されました: http://lists.wikimedia.org/pipermail/mediawiki-l/2009-October/032322.htmlを参照してください。
その投稿によると、, user_newtalk
, page
, revision
, text
,
archive
, pagelinks
, templatelinks
, imagelinks
, categorylinks
, category
, externallinks
, langlinks
, hitcounter
, watchlist
, image
, oldimage
, filearchive
, recentchanges
, searchindex
, interwiki
, querycache
, objectcache
, , . log_search
_ _ _ _ _ _trackbacks
job
querycache_info
redirect
querycachetwo
page_restrictions
protected_titles
page_props
change_tags
tag_summary
valid_tag
l10n_cache
最近のバージョンでは、そのリストにmsg_resource
とを追加して、メッセージ関連のキャッシュを切り捨てます。msg_resource_list
また、画像テーブルを切り捨てる場合は、必ず画像フォルダーのファイルを削除してください。そうしないと、同期が取れなくなり、一部の画像のアップロードに問題が発生する可能性があります。
データベースからテーブルのリストを取得します。
echo "show tables;" | mysql -u user_name -p db_name > tables
切り捨てるテーブルを決定し、SQL スクリプトを作成します。
TRUNCATE TABLE a;
TRUNCATE TABLE b;
update <prefix>user set user_editcount=0;
次に、クライアントを介して実行します。
mysql -u user_name -p database_name < truncate-all.sql