質問

mediawiki APIを使用しています(例: 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 、< code> oldimage 、 filearchive recentchanges searchindex interwiki querycache objectcache log_search trackbacks job querycache_info リダイレクト 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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top