4 25

[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でもいいかなっと思ったわけです。

まぁいっか。


4 25

[Eclipse][CakePHP][symfony]便利プラグイン

Tag: phpuechoco @ 13 : 57 : 23

bakeするのに地味に便利なEclipseプラグイン - Writing Some Code
http://d.hatena.ne.jp/ngtn/20080131/1201791505

Eclipse Platform Extensionsってプラグインがあります。

EclipseのナビゲータービューやPHPエクスプローラビューなどのディレクトリツリーを表示するビューに、[フォルダを開く]->[コマンドプロンプト]や[フォルダを開く]->[エクスプローラ]などの右クリックメニューを追加してくれます(下図参照)。

Eclipse Platform Extensions コマンドプロンプト メニュー

私の場合は開発環境が2つあって、VMware上のCentOSと、Windows上のXAMPPなんです。

XAMPP環境で開発しているときはsymfonyコマンドを打つときに重宝しそうです。

VMware上のCentOSのときは、sambaでEclipseのワークスペースをWindows側からアクセスできるようにしてEclipseで開発しているので、symfonyコマンド自体はssh経由で使うのですが、エクスプローラでディレクトリを開いたりすることがあるので、やっぱり重宝しそうです。

CakePHPのbakeコマンドの呼び出しだけじゃなくて、symfonyのsymfonyコマンドの呼び出しでも、Ethnaのethnaコマンドの呼び出しでもいいってことですね。