2011-10-27 26 views
1

我使symfony的插件世界我的第一個步驟,我有點失去 ...Symfony的1.4.4 - 學說遷移和插件安裝

我有一個數據庫的實時應用程序。通常,當我需要一個新表或 字段時,我通過更新我的schema.yml來執行遷移,調用 generate-migration-diff和build -all-classes --and-migrate symfony 命令。

今天,我需要安裝一個插件(即sfCombinePlugin),以便 縮小我的js和css腳本。我通過symfony 插件安裝它:安裝命令,沒關係我已經將所有文件都放在插件 文件夾中。我遵循讀我,它說建立模型,所以我運行 命令原則:建模,和一個文件夾sfCombinePlugin出現在我的lib/model/doctrine文件夾中的 。

但現在我卡住了,我需要在我的數據庫中添加表。在讀-我說,要通過教條生成sql:build-sql,並在我的數據庫中運行生成的sql。但我看到一些問題來...

它會通過運行SQL文件擦除我的數據?我很確定它會, ,因爲它從頭開始創建數據庫...

因此,我想使用遷移,就像我通常那樣。但是,當我運行 generate-migration-diff時,它不考慮插件文件夾中的schema.yml 。這是正常的還是它的錯誤?

我想複製裏面 的schema.yml中的插件應用程序的schema.yml文件的內容,但我不知道這是一個好主意,因爲 模型類將不會在sfCombinePlugin文件夾,但在 通用模型文件夾中。這聽起來不太好。

回答

0

build-sql只會創建SQL文件; insert-sql會覆蓋數據庫。當我做這樣的表添加時,我剛剛在data/sql中查看生成的SQL並手動添加表。 s2有內置的遷移,IIRC。對於1.4版檢查http://www.symfony-project.org/plugins/sfPropelMigrationsLightPlugin - 剛剛通過谷歌發現,我從來沒有用過它。

+0

嗨,s1.4也有遷移系統,確切地說,它是教義orm。但是它沒有考慮插件目錄中的schema.yml來生成遷移類。這就是問題:/ – Philippe

+0

啊。我的大部分項目都使用Propel,所以不幸的是我對Doctrine工具沒有經驗。 – yitznewton