web-dev-qa-db-ja.com

Relationモジュールをアンインストールするにはどうすればよいですか?

テストサイトでテストした後、Relationモジュールの一部であるモジュールをアンインストールしようとしています。

Drupalは、そのモジュールによって実装されたフィールドが使用されていることを示しているため、リレーションエンドポイントフィールドモジュールは選択できません。

screenshot

「フィールドリスト」リンクをクリックすると、現在使用されているフィールドの次のリストが表示されます。

screenshot

報告されたフィールドはいずれも、そのモジュールによって実装されていません。これらは標準のDrupalフィールドです。

そのような場合、どうすればよいですか?そのフィールドを使用したコンテンツタイプはすでに削除されています。

3
kiamlaluno

これは先週、いくつかのモジュールで起こりました。解決策は、単にcronを実行することで、削除対象としてマークされたフィールドを実際に削除できるようにしました。その後、問題のモジュールを問題なくアンインストールできました。

9
Clive

Getlocationsモジュールで現在同じ問題がありました。無効になっているモジュール「admin/modules/uninstall /」のアンインストールでこの問題を解決しました

お役に立てれば

2
augusto

問題のサイトのphpMyAdminにアクセスできる場合、この問題を解決する最も簡単な方法は、次のクエリを実行することです。

field_config WHERE field_config.deletedから削除= 1;

これは、コアテーブルの1つにある「削除保留フィールド」が原因で発生する問題です。フィールドを使用してすべてのコンテンツタイプからフィールドを削除した後でも、field_configテーブルから適切にドロップされません。

Cronを「任意の回数」実行したり、「任意の期間」待機したりすることを勧める人もいますが、どちらも一貫して機能していないか、定義された数を持っているようには見えません。これまでに見つけた唯一の信頼できる解決策は、必要なときに上記のクエリを実行することです。

そのクエリが実行されるとすぐに、モジュールを無効にして、必要に応じてアンインストールできるようになります。

お役に立てれば。誰かがこれについてもっと読みたいと思うなら、ここにいくつかの追加リンクがあります: https://github.com/backdrop/backdrop-issues/issues/82https://technonaturalist.net/ comment/1167#comment-1167

0
knowledges33ker