Я написал файл 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: нет типа схемы для типа.
Мне это кажется странным, потому что в документации я использовал спецификацию mysql_type для сохранения формата datetime в базе данных 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.