Ho scritto un file mymodule.install che contiene una definizione di schema per creare una tabella nel mio database. Questa tabella contiene due campi dati. Questi campi saranno popolati dagli utenti quando riempiranno il contenuto specifico (esempio: per specificare una data di pubblicazione per una notizia). Ora non ho usato il modulo Date contribuito appositamente, perché avevo bisogno che questi due campi fossero sulla stessa riga nella tabella del database per altri motivi.
Hook_schema definisce i due campi in questo modo:
'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,
),
La tabella è stata creata correttamente nel database, ma ricevo sempre questi messaggi di avviso:
Campo news_board.pubblish_date: nessun tipo di schema per datetime di tipo mysql. Campo news_board.unpublish_date: nessun tipo di schema per datetime di tipo mysql. news_board.pubblish_date: nessun tipo per il tipo di schema: normale. Campo news_board.pubblish_date: nessun tipo di schema per il tipo. news_board.unpublish_date: nessun tipo per il tipo di schema: normale. Campo news_board.unpublish_date: nessun tipo di schema per tipo.
Mi sembra strano perché ho rosso sulla documentazione per utilizzare la specifica mysql_type al fine di memorizzare il formato datetime nel database mysql.
So che Drupal supporta i timestamp in modo nativo e se si desidera memorizzare un formato data diverso, è necessario utilizzare definizioni specifiche come mysql_type o pgsql_type in base al database che si sta utilizzando.
Nelle discussioni ho scoperto che molte persone hanno usato la definizione di mysql_type e da quello che ho visto hanno risolto il problema, quindi perché non funziona per me?
Molte grazie.
•Field news_board.pubblish_date: no Schema type for mysql type datetime. •Field news_board.unpublish_date: no Schema type for mysql type datetime.