我已经编写了一个mymodule.install文件,其中包含一个架构定义以在数据库中创建表。该表包含两个数据字段。当用户填写特定内容(例如:指定新闻的特定发布日期)时,这些字段将由用户填充。现在,我没有故意使用“日期”贡献模块,因为出于其他原因,我需要将这两个字段放在数据库表的同一行中。
hook_schema用这种方式定义了两个字段:
'pubblish_date' => array(
'description' => t('The pubblish date for the single news'),
'mysql_type' => 'datetime',
'not null' => FALSE,
),
'unpublish_date' => array(
'description' => t('The unpublish date for the single news'),
'mysql_type' => 'datetime',
'not null' => FALSE,
),
该表已在数据库中正确创建,但是我总是收到这些建议消息:
字段news_board.pubblish_date:否mysql类型datetime的模式类型。字段news_board.unpublish_date:否mysql类型datetime的模式类型。news_board.pubblish_date:模式类型:普通没有类型。字段news_board.pubblish_date:类型的架构类型。news_board.unpublish_date:模式类型:普通没有类型。字段news_board.unpublish_date:没有type的架构类型。
对我来说似乎很奇怪,原因是我在文档中使用mysql_type规范来将日期时间格式存储在mysql数据库中。
我知道Drupal本机支持时间戳,如果要存储其他日期格式,则必须根据所使用的数据库使用特定的定义,例如mysql_type或pgsql_type。
在讨论中,我发现在线上有很多人使用mysql_type定义,从我的看到,他们解决了问题,那么为什么它对我不起作用?
非常感谢。
•Field news_board.pubblish_date: no Schema type for mysql type datetime. •Field news_board.unpublish_date: no Schema type for mysql type datetime.