Drupalはノードのボディのコンテンツをどこに保存しますか?


48

ノードテーブルには、実際の本文以外のすべてがあります。この本文はどこにありますか?私はそれがどこかにブロブとして保存されていると仮定しています。


ノードのすべてのフィールドがDrupal 7のどこに
claws

回答:


38

ここには実行中のdrupalインストールはありませんが、数週間前にこの質問を自問し、答えを見つけるのに時間がかかりました。

記憶が正しければ、ノードの本体は、ノードの「リビジョン」を保持するために使用されるテーブルに保存されます。名前はわかりませんが、「node_revision」や「node_revisions」のようなものでなければなりません。


4
正しい。それはだnode_revisions.body

追加するだけです...ノードの本体を分離する目的は、開発者が必要な数の異なるコンテンツタイプを作成し、すべてのnode_idを含むテーブルを1つだけ作成できるようにすることです。ボディを含むリビジョンは、別のテーブルにあります。
ランデル

webdevgeeks.comリンクが壊れています。

この回答は正しいバージョンのdrupalですか?
爪14

1
@claws、この回答はDrupal 6に対するもので、Drupal 7に対するbodyフィールドはfield_data_bodyテーブルに保存されます。
ヨゲシュ

53

Drupal 7では、本文はfield_data_bodyテーブルに移動されました。


2
私のDrupal 7サイトでは、「field_data_body」と「field_revision_body」の表でコンテンツの本文を見ることができます。
リプログラマー

これは、ボディフィールドを含むコンテンツタイプがある場合にのみ当てはまります(他の非タイトルフィールドと同じ)。たとえば、投票にはありません。
スコットエバーデン

1
正確ではありません。本文テキストはvalue、というフィールドの列に保存されますbody。これはデフォルトでテーブルのbody_value列に保存されfield_data_bodyます。ただし、MongoDBを使用してbodyフィールドにデータを保存することを妨げるものはほとんどありません(ほとんど何もありません:標準プロファイルはSQLでデータを作成します。MongoDBを使用して後で苦痛な移行を保存する場合は、minimalを使用することをお勧めします)。

ノードとの関係は何field_data_bodyですか?後者は全く持っていないnid、またはvidカラム(少なくともしないという名前付きの)
爆発丸薬

field_data_bodyには、ノードテーブルのnidの参照である列entity_isがあります
革新的なクンダン


8

Drupal 6では、ノードの本文のコンテンツは、「body」フィールドの下の「node_revisions」テーブルに保存されます。

node_revisions.body

Drupal 7では、ノードのボディのコンテンツは「body_value」フィールドの下の「field_data_body」テーブルに保存されます。コンテンツリビジョンがある場合、「body_value」フィールドの下の「field_revision_body」テーブルのデータも保存します。

field_data_body.body_value

field_revision_body.body_value

Drupal 8では、ノードのボディのコンテンツは、「body_value」フィールドの下の「node__body」テーブルに保存されます。コンテンツリビジョンがある場合、「body_value」フィールドの下にある「node_revision__body」テーブルのデータも保存します。

node__body.body_value

node_revision__body.body_value


5

コンテンツタイプの本文コンテンツはfield_data_bodyfield_revision_bodyテーブルに保存されます。


2

これは、使用するSQL(MySQLクライアント)です。

SELECT node.nid,node.vid,type,node.title, body 
FROM node join node_revisions ON node.nid = node_revisions.nid
WHERE node.title = 'some title';

はい、答えはDrupal 6の「node_revisions」テーブルです。


2

Drupal 7では、ノード本体はfield_data_bodyとfield_revision_bodyにあります。CCK(Drupal 7のコアに追加される)を使用して追加された新しいフィールドは、field_configおよびfield_config_instanceにあります。Drupal6では、ノード本体はnode_revisionsに保存され、作成されたフィールドはcontent_node_fieldおよびcontent_node_field_instanceに保存されます。


1

私はいくつかの新しいコンテンツタイプを作成している、と彼らのために、身体または説明は、テーブルの列field_description_valueに行く新しいコンテンツタイプの名前です。content_type_<type_name>type_name


1

Drupal 7では、そのfield_revision_body ..でそのテーブルを記述すると、Bodyサマリーとそのロングテキストタイプの列が表示されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.