web-dev-qa-db-ja.com

インストールファイルを介してフィールドを1つのテーブルに保存するにはどうすればよいですか?

私はd7を初めて使用し、インストールスクリプトを作成しています。このインストールスクリプトでは、コンテンツタイプを作成し(これを実行しました)、これで使用される多くのフィールドを作成する必要があります。

私が見つけた問題は、d7が各フィールドに多くのテーブルを自動的に作成することです。コンテンツタイプごとに60以上のフィールドがあることを考えると、これはあまり実用的ではありません。

これらすべてのフィールドを単一のテーブルに含める方法を.installファイルにコーディングするにはどうすればよいですか。 | ID | value1 | value2 | value3 | value1,2,3の3つのテーブルの代わりに

ありがとうございました。

1
Terry

簡単な答え:できません。

Field APIのコンシューマーとして、デフォルトのフィールドストレージを使用する場合、SQLスキーマを制御することはできません。ただし、Field APIでは、フィールドごとに異なるフィールドストレージを使用できます。 バンドルごとのストレージ モジュールは、必要な機能を提供することを目的としているようです。ただし、リリースはなく、リポジトリ内のコードのみです。別の解決策は、コンテンツタイプのフィールドストレージを分離された MongoDB データベースに切り替えることです。

1
Pierre Buyle