カスタムモジュールのデータベーステーブルを作成します。
mymodule.install
の内部:
function mymodule_schema(){
$schema['a_visits'] = array(
'description' => 'visits table',
'fields' => array(
'id' => array(
'description' => 'make id primary key auto increment',
'type' => 'serial',
'not null' => TRUE,
),
'oferta' => array(
'description' => 'nazwa oferty',
'type' => 'varchar',
'length' => '255',
'not null' => TRUE,
)
),
'primary key' => array('id'),
);
return $schema;
}
function mymodule_install() {
drupal_install_schema('a_visits');
}
function mymodule_uninstall() {
drupal_uninstall_schema('a_visits');
}
次に、モジュールのファイルをsites/all/modules/custom/mymodule
の下のサーバーに移動し、管理パネルで有効にしました。残念ながらデータベースにテーブルが作成されていません(モジュールは現在アクティブとしてリストされています)。
hook_schema
だけでデータベーステーブルを作成できます。私はあなたが単にモジュールを無効にしてから有効にしていると思いますが、これはデータベースにテーブルを作成するのに役立ちません。機能させるには、admin/modules' locate your module and disable it. Then navigate to 'admin/modules/uninstall' and again locate your module and uninstall it. After this, go to
admin/modules '、モジュールを有効にします。これで、データベース内のそれぞれのテーブルを見つけることができます。
同じ用にdrushを使うこともできます。 drush dis module_name
、次にdrush pm-uninstall module_name
そして最後に drush en module_name
。
また、@ OPTASY Canadaに従って、警告やエラーがないかdblogを確認してください。
これだけが機能します。最初にこのモジュールをアンインストールしてから再インストールしてください。
function mymodule_schema(){
$schema['a_visits'] = array(
'description' => 'visits table',
'fields' => array(
'id' => array(
'description' => 'make id primary key auto increment',
'type' => 'serial',
'not null' => TRUE,
),
'oferta' => array(
'description' => 'nazwa oferty',
'type' => 'varchar',
'length' => '255',
'not null' => TRUE,
)
),
'primary key' => array('id'),
);
return $schema;
}