データベースにテーブルを作成するためのスキーマ定義を含むmymodule.installファイルを作成しました。このテーブルには2つのデータフィールドが含まれます。これらのフィールドは、ユーザーが特定のコンテンツを入力するときに入力されます(例:ニュースの公開日を指定する)。今、私は意図的にDate寄贈されたモジュールを使用しませんでした。他の理由で、これら2つのフィールドがデータベーステーブルの同じ行にある必要がありました。
hook_schemaは、次のように2つのフィールドを定義します。
'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:スキーマタイプにタイプはありません:normal。フィールドnews_board.pubblish_date:typeのスキーマタイプはありません。news_board.unpublish_date:スキーマタイプにタイプはありません:normal。フィールドnews_board.unpublish_date:typeのスキーマタイプはありません。
私には奇妙に思えますが、mysqlデータベースにdatetime形式を保存するためにmysql_type仕様を使用するためにドキュメントを読みました。
Drupalはネイティブにタイムスタンプをサポートしているため、別の日付形式を保存する場合は、データベースyuoが使用している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.