I'm writing a new Drupal 7 module (Drupal 7.10, Date 7.x-2.0-rc1 installed, Schema 7.x-1.0-beta3 installed) i defined a table in mymodule.install:
$schema['museums_tickets']= array(
'fields' => array(
'nid' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
),
'day' => array(
'type' => 'datetime',
'mysql_type' => 'DATETIME',
'not null' => TRUE,
),
'tickets' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
),
'ticket_code' => array(
'type' => 'varchar',
'length' => 32,
'not null' => TRUE,
'default' => '',
),
),
'primary key' => array('nid', 'day','ticket_code'),
);
but i obtain the following errors:
Field museums_tickets.day: no Schema type for mysql type datetime.
museums_tickets.day: no type for Schema type datetime.
Field museums_tickets.day: no Schema type for type datetime.
The same applies if i use
'type' => 'datetime:normal',
I would like to know how to solve this problem. I don't want to store dates as timestamp, since another person wrote a lot of code and obviously i don't want to rewrite all. I already looked at drupal 7 custom schema error datetime but the answer doesn't work. Maybe i'm doing something wrong, but i don't find what.
Thank you in advance.
The Date contrib module has:
The following works for me (Drupal 7.10):
(notice the
mysql_type
key instead oftype
)From the Schema docs:
datetime
is not an allowed generic type in Drupal 7 so leaving thetype
key in there will always cause an error.If you look in the schema of the Date module you will find something like
Actually the answer of Clive was the one i picked first but later gave me problems with the Views module.
This implementation of the Date module save my day