drupal - 自定义 Drupal 模块不创建任何表

标签 drupal drupal-6

模块文件中我需要什么具体内容吗?

安装文件

函数 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, 学校名称 varchar(300) NOT NULL, 地址1 varchar(300) NOT NULL, 地址2 varchar(300) NOT NULL, 城市 varchar(300) NOT NULL, computer_serial_no varchar(300) NOT NULL, 状态 varchar(200) NOT NULL, uid int(200) NOT NULL ) ENGINE=InnoDB 默认字符集=latin1";

db_query($create_table_sql);


//lets create the student database

$create_table_sql = "如果不存在则创建表table2 ( id int(11) NOT NULL, principal_name varchar(300) NOT NULL, 学校名称 varchar(300) NOT NULL, 地址1 varchar(300) NOT NULL, 地址2 varchar(300) NOT NULL, 城市 varchar(300) NOT NULL, computer_serial_no varchar(300) NOT NULL, 状态 varchar(200) NOT NULL, uid int(200) NOT NULL ) ENGINE=InnoDB 默认字符集=latin1";

db_query($create_table_sql);

}

/** * _UNINSTALL 钩子(Hook) * * 运行此函数来卸载模块。 * */ 函数 module_uninstall() {

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

}

信息文件以防万一

; $Id$

名称 = 我的模块 描述=这个模块处理blah blah 包 = 某个包 核心 = 6.x

版本=“6.x-1.0” 核心=“6.x”

最佳答案

您应该使用 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。

关于drupal - 自定义 Drupal 模块不创建任何表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2999122/

相关文章:

drupal - 在 Drupal 8 上注册后如何重定向用户?

performance - Drupal 与 WordPress 性能比较

css - 两个 div 在 IE/Chrome 中显示不一样,仅在 Firefox 中显示

php - drupal_http_request 在 drupal 6 上没有代理支持......想法怎么做?

drupal - 如何更改 Drupal View 中公开过滤器的默认值 (-Any-) 的标签?

drupal - 基本了解 Views 和 Pathauto 如何协同工作

php - Drupal 用户关系查询将获取 Count Common Friend

php - 如何处理 PayPal IPN 延迟

api - 在 Drupal 中发出 SOAP 请求?

"untrusted"管理员的 Drupal 高级 ACL