Пользовательский модуль Drupal, не создающий никаких таблиц - PullRequest
2 голосов
/ 08 июня 2010

Что-нибудь конкретное, что мне нужно в файле модуля?

Установить файл

function module_install () {

//lets create the school database
$create_table_sql = "CREATE TABLE IF NOT EXISTS `table1` (

id int (11) NOT NULL,principal_name varchar (300) NOT NULL, school_name varchar (300) NOT NULL, address1 varchar (300) NOT NULL, address2 varchar (300) NOT NULL, city varchar (300) NOT NULL,computer_serial_no varchar (300) NOT NULL, state varchar (200) NOT NULL, uid int (200) NOT NULL) ENGINE = InnoDB CHARSET DEFAULT = latin1 ";

db_query($create_table_sql);


//lets create the student database

$ create_table_sql= "СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ table2 (id int (11) НЕ ПУСТО, principal_name varchar (300) НЕ ПУСТО, school_name varchar (300) НЕ ПУСТО, address1 varchar (300) НЕ ПУСТО, address2 varchar (300) NOT NULL, city varchar (300) NOT NULL, computer_serial_no varchar (300) NOT NULL, state varchar (200) NOT NULL, uid int (200) NOT NULL) ENGINE = InnoDB DARAULT CHARSET = latin1 ";

db_query($create_table_sql);

}

/ ** * _UNINSTALL hook * * Эта функция запускается для удаления модуля. * * / Function module_uninstall (){

// Delete the DB
db_query("drop table table1");
db_query("drop table table2");

}

Info File Justв случае

; $Id$

name = Описание моего модуля = Этот модуль работает с пакетом blah blah = Somepackage core = 6.x

version = "6.x-1.0" core = "6.x "

Ответы [ 2 ]

4 голосов
/ 08 июня 2010

Вы должны использовать hook_install и hook_schema.

http://api.drupal.org/api/function/hook_schema/6

http://api.drupal.org/api/function/hook_install/6

Для установки и удаления hook_schema сделает его более согласованным и простым для отладки без написания SQL.

1 голос
/ 08 июня 2010

Вам не нужно писать собственные DDL-запросы - используйте взамен Schema API .

...