モジュールのインストール中にテーブルを作成する方法


15

Drupal 7用のモジュールを作成しようとしていますが、3つのテーブルを作成してデータを入力する必要があります。しかし、最初に作成する必要があります。

ファイルmymodule.installに私は持っています

function mymodule_install() {

}

function mymodule_uninstall() {

}


function myodule_schema() {
  $schema['mymodule_table'] = array(
    'description' => t('First table'),
    'fields' => array(
      'id' => array(
        'description' => t('My unique identifier'),
        'type' => 'int',
        'unsigned' => true,
        'not null' => true,
      ),
      'list' => array(
        'description' => t('list'),
        'type' => 'varchar',
        'not null' => true,
      ),
    ),
    'primary key' => array('id'),
  );
  return $schema;     
}

何が間違っていますか?モジュールをテストするたびに、無効にする->アンインストールする->パフォーマンスのキャッシュをクリアする->有効にする。


3
あなたがdrushとのdevelがインストールされている場合は使用できdrush devel-reinstall mymoduleすばやくモジュール再インストールする
FLY

回答:


11

列のlengthプロパティvarchar(「リスト」)がありません。クエリが失敗するlengthように必要ですCREATE TABLE

スキーマAPIドキュメント

「タイプ」以外のすべてのパラメーターはオプションです。ただし、タイプ「数値」列は「精度」と「スケール」を指定する必要があり、「varchar」列は「長さ」を指定する必要があります。


4

myodule_schemaタイプミスがあります。アンはm後に不足していますy


BetaRideのおかげで、それは文字起こしのミスでした。あなたが私の投稿を読んだので、私はあなたに1票を与えます、そして、実際、私は本当に機能の名前のつづりの間違いを見つけましたeh eh
タイラー・ダーデン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.