web-dev-qa-db-ja.com

キャッシュテーブルをクリアする

「テスト」テーマをインストールしてからアンインストールしました。 drush cache-rebuildを実行し、[設定]> [パフォーマンス]メニューですべてのキャッシュをクリアしました。ただし、drush config-exportを実行して、構成を開発環境からステージング環境にエクスポートすると、アンインストールしてキャッシュをクリアしても、エクスポートされるファイルのリストに「test」テーマへの参照が含まれます。

データベースを確認しましたが、cachetagsテーブルには、アンインストールした「test」テーマを参照する行があります。これらはdrush config-exportの間にエクスポートされるものだと感じています。これらをクリアする方法はありますか?現在、ステージング環境でdrush config-importコマンドを続行できないのは、含まれていないために 'test'テーマをインストールできないことを示すエラーが発生するためです。そして、そこにあるべきではないので、それをインストールすべきではありません。

私は周りを見回し、すべてのドキュメントがすべてのキャッシュをクリアするためにdrush cache-rebuildが使用されていることを示していますが、私の場合はそうしていません。

私はDrupal 8とDrush 8をすべてUbuntuで実行しています。

私はそれを行うことを考えていましたが、Drupalを初めて使用するので、手動で削除した場合に他の問題が発生することを少し心配しました。
私はそれらを削除したばかりで、設定ファイルが以前のようになくなっていることを確認しています。これまでのところ、すべて問題ありません。
テーマを削除し、アンインストールして、データベースから完全にクリアする適切な方法を知っておくとよいでしょう。また、drush cache-rebuildをキャッシュする内容は本当にクリアされ、そうでないものもクリアされます。

3
chavab_1

すべてのキャッシュテーブルをクリアするには、サーバーターミナルでこのコマンドを実行します。

# Truncate cache tables in MySQL regardless of the active cache backend
echo "SHOW TABLES LIKE 'cache%'" | $(drush sql-connect) | tail -n +2 | xargs -L1 -I% echo "TRUNCATE TABLE %;" | $(drush sql-connect) -v

これにより、すべてのキャッシュテーブルがループされ、1つのコマンドで切り捨てられます。

ソースを思い出せず、どこでこれを取得したのか、最初にそれを書いた人にクレジットを与えます。

5