質問: タイトルの通りですが、日付カラムの型をint型かdatetime型にするかで迷っています。 phpでFWを使っています。 fuelphpなのですが、oil refine migrate --packages=authで生成される日付カラムの型はint型でunix timeを格納する仕様になっています。 authパッケージが提供するメソッド、例えばAuth::create_user()でユーザーレコードが作成されますが、created_atにはunix timeが格納されます。 Authパッケージを使用するのであれば、oil refine migrate --packages=authで生成されたテーブルの日付カラムの型をdatetimeに変更すると、Auth::create_user()などのauthパッケージが提供するメソッドを使ってDBへ値を格納する際に不整合が起きるのではと懸念しています。 かといって oil refine migrate --packages=authで生成されるテーブルの日付の型に関してはint型 自分で作るModelに対するテーブルの日付に関してはdatetime型 と、テーブルによって日付の型が統一されていないのは気持ち悪いです。 という懸念点があるないにしろ、2038年問題のように将来的な設計も視野に入れるとすればint型とdatetime型のどちらが妥当でしょうか。
回答: datetime型で統一するのが一般的かと。 oracleのバグ対応で呼ばれて調べたら、日付日時分を文字型で持っていて、32日とか13月とか変なデータがいっぱいありました。