Tôi đã viết một tệp mymodule.install chứa định nghĩa lược đồ để tạo bảng trong cơ sở dữ liệu của tôi. Bảng này chứa hai trường dữ liệu. Các trường này sẽ được người dùng điền vào khi họ sẽ điền vào nội dung cụ thể (ví dụ: để chỉ định ngày xuất bản cho một tin tức). Bây giờ tôi không sử dụng mô-đun Ngày đóng góp vào mục đích, vì tôi cần hai trường này nằm trên cùng một hàng trong bảng cơ sở dữ liệu vì những lý do khác.
Hook_schema định nghĩa hai trường theo cách này:
'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,
),
Bảng được tạo chính xác trong cơ sở dữ liệu, nhưng tôi luôn nhận được thông báo lời khuyên:
Trường news_board.pubblish_date: không có loại Schema cho datetime kiểu mysql. Trường news_board.unpublish_date: không có loại Schema cho datetime kiểu mysql. news_board.pubblish_date: không có loại cho loại Schema: bình thường. Trường news_board.pubblish_date: không có loại Schema cho loại. news_board.unpublish_date: không có loại cho loại Schema: bình thường. Trường news_board.unpublish_date: không có loại Schema cho loại.
Có vẻ lạ đối với tôi vì tôi đỏ trên tài liệu để sử dụng đặc tả mysql_type để lưu trữ định dạng datetime trong cơ sở dữ liệu mysql.
Tôi biết rằng Drupal hỗ trợ các dấu thời gian nguyên bản và nếu bạn muốn lưu trữ một định dạng ngày khác, bạn phải sử dụng các định nghĩa cụ thể như mysql_type hoặc pssql_type theo cơ sở dữ liệu mà yuo đang sử dụng.
Trong các cuộc thảo luận tôi đã tìm thấy rất nhiều người sử dụng định nghĩa mysql_type và từ những gì tôi thấy họ đã giải quyết vấn đề, vậy tại sao nó không hiệu quả với tôi?
Cảm ơn rất nhiều.
•Field news_board.pubblish_date: no Schema type for mysql type datetime. •Field news_board.unpublish_date: no Schema type for mysql type datetime.