symfony 中的 config/schema.yml 與 config/schema.xml

今天在讀 Askeet - symfony Advent Calendar 這份 symfony 實作案例,讀到 day 2 時,執行

symfony propel-build-model
命令要產生 ORM 相關的 class 時,出現下面的錯誤訊息︰
Execution of target "om-template" failed for the following reason: C:\symfony-stable\symfony\lib\vendor\propel-generator\build-propel.xml:470:1: No package found for database "propel" in schema.xml. The propel.packageObjectModel property requires the package attribute to be set for each database.
於是去拜了一下 google 大神,發現在 symfony 的官方論壇中也有人遇到相同的問題。原來在新版的 symfony 中,已經建議以 schema.yml 取代 day 2 所使用的 schema.xml,解決方式有兩種︰
  1. 砍掉空的 config/schema.yml 檔,只保留 config/schema.xml
  2. 執行 symfony propel-convert-xml-schema 命令,將 config/schema.xml 轉檔為 config/schema.yml 檔,再把原來的 config/schema.xml 檔砍掉,只保留 config/schema.yml
以上,就可以解決這個問題了。

0 意見: