web-dev-qa-db-ja.com

カスタムモジュールのデータベーステーブルにノードフィールドを追加する方法

独自のカスタムモジュールを作成し、データベーステーブルを設計しているときに、nidフィールドを使用してノードを参照する場合、モジュールで各ノードに何かを追加する必要があるため、どのように実装する必要がありますかこれはモジュールのmymodule.installファイルにありますか?

1
enjoylife

ほとんどの場合、自分でカスタムテーブルを追加したりノードを変更したりするのではなく、フィールドAPI(D6のCCKモジュール)を使用したいと思うでしょう。

カスタムテーブルの追加は、非常にD5の方法でした。

これを行う場合は、 hook_schema() を使用してテーブルを定義する必要があります。その後、mymodule_install()フックで drupal_install_schema()を呼び出すことができます。 これにより、モジュールを表す新しいテーブルが作成されます。

スキーマは常に現在のスキーマを表す必要があることに言及する価値があります。列を追加する場合、モジュールをインストールする誰かが正しいスキーマを取得できるようにスキーマを変更する必要がありますが、既存のユーザーが正しい新しいスキーマを取得できるようにテーブルを変更する更新関数も記述します。

他のモジュールのテーブルを変更することは可能ですが、別の質問でカバーする必要があると思います。

1
Jeremy French