Drupal 7: Créer un field datetime dans un schema avec db_create_table
Publicités
Pour la création d’une table dans Drupal7, on peut utiliser le hook « mon_module_update_7000 » dans le fichier « mon_module.install ».
Le type datetime n’est malheureusement pas mapper, c’est pour cela qu’il faut utiliser la clé « mysql_type »
const MON_MODULE_TABLE_NAME = 'mon_module_table'
function get_mon_module_schema() : array {
return [
'description' => 'description',
'fields' => ['id' => ['type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE],
'log' => ['type' => 'blob', 'not null' => TRUE],
'created_at' => [ 'type' => 'datetime', 'mysql_type' => 'datetime', 'not null' => TRUE]
],
'primary key' => ['id']
];
}
function mon_module_schema() {
$schema[API_REST_WATCHDOG_TABLE_NAME] = get_watchdog_schema();
return $schema;
}
function mon_module_update_7003() {
if (!db_table_exists(MON_MODULE_TABLE_NAME)) {
$schema = get_mon_module_schema();
db_create_table(MON_MODULE_TABLE_NAME, $schema);
}
}
Publicités