모듈 설치 중 테이블을 만드는 방법


14

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

내가 도대체 ​​뭘 잘못하고있는 겁니까? 모듈을 테스트 할 때마다 비활성화-> 제거-> 성능 캐시 지우기-> 활성화하십시오.


3
만약 당신이 drush와 devel을 설치했다면 drush devel-reinstall mymodule, 모듈을 빨리 다시 설치 하는데 사용할 수 있습니다
FLY

답변:


11

당신은이 누락 length의 속성 varchar열 ( '목록'). length그렇게 필요 CREATE TABLE쿼리가 실패합니다.

로부터 스키마 API 문서 :

'숫자'열 유형에 '정밀도'및 '스케일'을 지정하고 'varchar'열에 '길이'를 지정해야한다는 점을 제외하고 'type'을 제외한 모든 매개 변수는 선택 사항입니다.


4

myodule_schema오타가 있습니다. 는 m애프터 없습니다 y.


고마워 BetaRide, 그것은 전사 실수였다. 내 게시물을 읽었 기 때문에 한 번만 투표하면 실제로 eh eh 기능의 이름에서 철자 실수를 발견했습니다
Tyler Durden
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.