4 月 25
[php][symfony]propel-build-modelで「Unable to parse default value as date/time value: ‘0000-00-00 00:00:00′」
symfonyで新しくプロジェクトを作っています。(練習がてら)
DB周りの開発手順として
- DBDesigner4でDBデザイン
- DBDesigner4でSQL発行
- 発行したSQLをDBに適応
- propel関連のini/yml設定を変更してデータベースに接続可能状態にしておく
- propel-build-shemaでshema.yml作成
- propel-build-modelでモデル作成
という感じのものを想定してやっていったのですが、propel-build-shemaで作成したshema.ymlが良くないらしく、propel-build-modelが以下のようなエラーを吐きます。
-
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'
-
[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のカラム定義を抜き出してくると、
-
deleted_at:
-
type: TIMESTAMP
-
default: 0000-00-00 00:00:00
というように、確かに自分で設定したデフォルト値が埋め込まれていますが、残念ながら受け付けてくれない模様。自動生成のschema.ymlなので、手動修正はしたくないと思って、結局デフォルト値を消すことで解決しました。まぁ、カラムが削除日時記録のためのものなので、NULLでもいいかなっと思ったわけです。
まぁいっか。

