Cách tạo bảng trong khi cài đặt mô-đun


15

Tôi đang cố gắng tạo một mô-đun cho Drupal 7 và tôi cần tạo 3 bảng và điền vào bảng. Nhưng trước tiên tôi cần tạo ra nó.

Trong tập tin mymodule.install tôi đã có

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

Tôi đang làm gì sai? Mỗi lần tôi kiểm tra mô-đun, tôi tắt nó -> gỡ cài đặt -> Xóa bộ nhớ cache hiệu năng -> kích hoạt nó.


3
Nếu bạn đã cài đặt drush và devel, bạn có thể sử dụng drush devel-reinstall mymoduleđể nhanh chóng cài đặt lại mô-đun của mình
FLY

Câu trả lời:


11

Bạn đang thiếu lengthtài sản cho varcharcột ('danh sách'). lengthđược yêu cầu để CREATE TABLEtruy vấn sẽ thất bại.

Từ các tài liệu API Schema :

Tất cả các tham số ngoài 'loại' là tùy chọn ngoại trừ các loại cột 'số' phải chỉ định 'độ chính xác' và 'tỷ lệ' và cột 'varchar' phải chỉ định 'độ dài'.


4

myodule_schemacó một lỗi đánh máy. An mbị mất sau y.


Cảm ơn BetaRide, đó là một lỗi sao chép. Tôi cho bạn một phiếu bầu vì bạn đã đọc bài viết của tôi và thực sự tôi đã tìm thấy một lỗi chính tả về tên của hàm eh eh
Tyler Durden
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.