Cara membuat tabel selama pemasangan modul


14

Saya mencoba membuat modul untuk Drupal 7 dan saya harus membuat 3 tabel dan mengisinya. Tapi pertama-tama saya harus membuatnya.

Pada file mymodule.install saya dapatkan

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;     
}

Apa yang saya lakukan salah? Setiap kali saya menguji modul, saya menonaktifkannya -> uninstall -> Performance clear cache -> aktifkan.


3
Jika Anda telah menginstal drush dan devel, Anda dapat menggunakannya drush devel-reinstall mymoduleuntuk menginstal ulang modul Anda dengan cepat
FLY

Jawaban:


11

Anda kehilangan lengthproperti untuk varcharkolom ('daftar'). lengthdiperlukan sehingga CREATE TABLEkueri akan gagal.

Dari dokumen Schema API :

Semua parameter selain dari 'tipe' adalah opsional kecuali kolom 'numerik' jenis itu harus menentukan 'presisi' dan 'skala', dan kolom 'varchar' harus menentukan 'panjang'.


4

myodule_schemamemiliki kesalahan ketik. Sebuah mhilang setelah y.


Terima kasih BetaRide, itu adalah kesalahan transkripsi. Saya memberikan Anda satu suara karena Anda telah membaca posting saya dan sebenarnya saya benar-benar menemukan kesalahan pengejaan nama fungsi eh eh
Tyler Durden
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.