Drupal 6模块安装文件没有在具有不同表名的数据库中创建表

时间:2011-10-06 12:00:29

标签: php drupal drupal-6 drupal-modules

我正在使用以下代码使用drupal-6中的.install文件创建数据库架构

function myModule_install() {
  // Create tables.
  drupal_install_schema('table_name');

}

让我们说,myModule = 'abc' & table_name = 'sim_table';这与使用与模块名称相同的表名称工作得很好,但我的要求不同于:我需要创建一个具有不同前缀的表名,例如“drupal_sim_table”,所以我使用的是此代码 drupal_install_schema('sim_table');

但它根本不起作用。模块已安装但未创建表。我一直在尝试这么多次没有成功。

1 个答案:

答案 0 :(得分:2)

简而言之:

function mymodule_schema() {
  $schema = array();
  $schema['my_table_name'] = array(
  );
  return $schema;
}

function mymodule_install() {
  drupal_install_schema('mymodule');
}

表示在drupal_install_schema()中使用您的模块名称,但在hook_schema() $schema定义中您可以使用您想要的任何表名。