ฉันเขียนไฟล์ mymodule.install ซึ่งมีข้อกำหนด schema เพื่อสร้างตารางในฐานข้อมูลของฉัน ตารางนี้มีสองเขตข้อมูล เขตข้อมูลเหล่านี้จะถูกเติมโดยผู้ใช้เมื่อพวกเขาจะเติมเนื้อหาเฉพาะ (ตัวอย่างเช่น: เพื่อระบุวันที่เผยแพร่สำหรับข่าว) ตอนนี้ฉันไม่ได้ใช้โมดูล Date ที่มีจุดประสงค์ทำให้ฉันต้องการให้ทั้งสองฟิลด์อยู่ในแถวเดียวกันในตารางฐานข้อมูลด้วยเหตุผลอื่น
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,
),
ตารางถูกสร้างขึ้นอย่างถูกต้องในฐานข้อมูล แต่ฉันได้รับข้อความแนะนำเหล่านี้เสมอ:
field news_board.pubblish_date: ไม่มี Schema type สำหรับ mysql type datetime field news_board.unpublish_date: ไม่มี Schema type สำหรับ mysql type datetime news_board.pubblish_date: ไม่มีประเภทสำหรับประเภท Schema: ปกติ สนาม news_board.pubblish_date: ไม่มีประเภท Schema สำหรับประเภท news_board.unpublish_date: ไม่มีประเภทสำหรับประเภท Schema: ปกติ สนาม news_board.unpublish_date: ไม่มีประเภท Schema สำหรับประเภท
ดูเหมือนว่าแปลกสำหรับฉันแล้วฉันแดงบนเอกสารเพื่อใช้ข้อมูลจำเพาะ mysql_type เพื่อเก็บรูปแบบวันที่และเวลาในฐานข้อมูล mysql
ฉันรู้ว่า Drupal รองรับการประทับเวลาตามธรรมชาติและหากคุณต้องการจัดเก็บรูปแบบวันที่อื่นคุณต้องใช้คำจำกัดความเฉพาะเช่น mysql_type หรือ pgsql_type ตามฐานข้อมูล yuo ที่ใช้
ในการสนทนาฉันพบว่าผู้คนออนไลน์จำนวนมากใช้คำจำกัดความ 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.