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.

Tyler Durden
sumber
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'.

Clive
sumber
4

myodule_schemamemiliki kesalahan ketik. Sebuah mhilang setelah y.

BetaRide
sumber
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