Drupal でサイトを根こそぎ削除するには、データベース中の該当するテーブル群を削除すればよい。基本的にデータベース中に Drupal サイトが1つしか入っていない場合は、データベースごと削除してしまえばいいのだが、サブドメインごとに複数のサイトを 1つの Drupal 用データベースに入れている場合(そういうことが Drupal ではできる)、コアが使うテーブルに関してどのテーブルを削除すればいいのか判断に迷うときがある。よって、外部(サードパーティ)のモジュールをインストールしているケースが多いと思われるため、コアのテーブルはどれだったのかきちんと把握しておく必要がある。
そこで以下にコアのテーブルを削除する SQL 文を挙げてみた。
DROP TABLE `access`, `accesslog`, `adsense_clicks`, `blocks`, `blocks_roles`, `boxes`, `cache`, `cache_filter`, `cache_menu`, `cache_page`, `captcha_points`, `comments`, `feedburner_feeds`, `files`, `file_revisions`, `filters`, `filter_formats`, `flood`, `history`, `leech`, `leech_news_feed`, `leech_news_item`, `leech_opml`, `menu`, `node`, `node_access`, `node_comment_statistics`, `node_counter`, `node_revisions`, `node_template`, `node_type`, `permission`, `profile_fields`, `profile_values`, `role`, `sequences`, `system`, `term_data`, `term_hierarchy`, `term_node`, `term_relation`, `term_synonym`, `url_alias`, `users`, `users_roles`, `variable`, `vocabulary`, `vocabulary_node_types`, `watchdog`, `xmlsitemap`, `xmlsitemap_additional`;
もし以下のテーブルをシェアしていた場合は、削除してはいけないが、たとえばテーブルの PREFIX を shared_ にして設定していた場合、削除してよいなら以下の SQL 文も実行する。
DROP TABLE `shared_locales_meta`, `shared_locales_source`, `shared_locales_target`, `shared_role`, `shared_sessions`, `shared_users`
トラックバック URL:
https://perltips.twinkle.cc/trackback/257