4

[php][symfony]propel-build-modelで「Unable to parse default value as date/time value: ‘0000-00-00 00:00:00′」

Tag: phpuechoco @ 17 : 46 : 44

symfonyで新しくプロジェクトを作っています。(練習がてら)

DB周りの開発手順として

  1. DBDesigner4でDBデザイン
  2. DBDesigner4でSQL発行
  3. 発行したSQLをDBに適応
  4. propel関連のini/yml設定を変更してデータベースに接続可能状態にしておく
  5. propel-build-shemaでshema.yml作成
  6. propel-build-modelでモデル作成

という感じのものを想定してやっていったのですが、propel-build-shemaで作成したshema.ymlが良くないらしく、propel-build-modelが以下のようなエラーを吐きます。

CODE:
  1. Execution of target "om-template" failed for the following reason: C:\xampp\php\PEAR\symfony\vendor\propel-generator\build-propel.xml:470:1: Unable to parse default value as date/time value: '0000-00-00 00:00:00'
  2. [phingcall] C:\xampp\php\PEAR\symfony\vendor\propel-generator\build-propel.xml:470:1: Unable to parse default value as date/time value: '0000-00-00 00:00:00'

該当部分のschema.ymlのカラム定義を抜き出してくると、

CODE:
  1. deleted_at:
  2.     type: TIMESTAMP
  3.     default: 0000-00-00 00:00:00

というように、確かに自分で設定したデフォルト値が埋め込まれていますが、残念ながら受け付けてくれない模様。自動生成のschema.ymlなので、手動修正はしたくないと思って、結局デフォルト値を消すことで解決しました。まぁ、カラムが削除日時記録のためのものなので、NULLでもいいかなっと思ったわけです。

まぁいっか。

Leave a Reply