Veritabanımda bir tablo oluşturmak için bir şema tanımı içeren bir mymodule.install dosyası yazdım. Bu tablo iki veri alanı içerir. Bu alanlar, belirli bir içeriği doldurduklarında kullanıcılar tarafından doldurulur (örnek: bir haberin yayınlanma tarihini belirtmek için). Şimdi bilerek katkıda bulunan tarih modülünü kullanmadım, çünkü bu iki alanın başka nedenlerle veritabanı tablosunda aynı satırda olması gerekir.
Hook_schema iki alanı şu şekilde tanımlar:
'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,
),
Tablo veritabanında doğru oluşturulur, ancak her zaman theese tavsiye mesajları alıyorum:
News_board.pubblish_date alanı: mysql türü datetime için Şema türü yok. News_board.unpublish_date alanı: mysql türü datetime için Şema türü yok. news_board.pubblish_date: Şema türü için tür yok: normal. News_board.pubblish_date alanı: tür için Şema türü yok. news_board.unpublish_date: Şema türü için tür yok: normal. News_board.unpublish_date alanı: tür için Şema türü yok.
Bana garip görünüyor ben mysql veritabanında datetime biçimini saklamak için mysql_type belirtimi kullanmak için belgelerde kırmızı neden olur.
Drupal'ın yerel zaman damgalarını desteklediğini ve farklı bir tarih biçimini saklamak istiyorsanız, yuo'nun kullandığınız veritabanına göre mysql_type veya pgsql_type gibi belirli tanımları kullanmanız gerektiğini biliyorum.
Tartışmalarda çevrimiçi birçok insanın mysql_type tanımını kullandığını gördüm ve gördüklerimden sorunu çözdüler, neden benim için çalışmıyor?
Çok teşekkürler.
•Field news_board.pubblish_date: no Schema type for mysql type datetime. •Field news_board.unpublish_date: no Schema type for mysql type datetime.