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;
}
何が悪いのですか?モジュールをテストするたびに、モジュールを無効にする->アンインストール->パフォーマンスキャッシュをクリアする->有効にする。
length
列( 'list')のvarchar
プロパティがありません。 length
は必須なので、CREATE TABLE
クエリは失敗します。
Schema API docs から:
タイプ「数値」列は「精度」と「スケール」を指定する必要があり、「varchar」列は「長さ」を指定する必要があることを除いて、「タイプ」を除くすべてのパラメーターはオプションです。
myodule_schema
にはタイプミスがあります。 m
の後にy
がありません。