2012-12-26 94 views
0

我是完全新的FuelPHP,ORM和一般的遷移,所以很抱歉,如果我遇到像一個新手,但我一直在這掙了幾個小時所以我想我會尋求幫助。我想我要麼做錯了什麼,要麼錯過了一些基本的東西。FuelPHP:創建表時使用'石油生成模型'混亂

我想創建一個用戶模型,爲了簡單起見,我們假設它只是一個表示名稱的字符串。

我的印象是,使用以下兩種油的命令將創建一個用戶模型,以及相關的遷移,其運行後,將建立相關的表:

php oil generate model user name:string 
oil refine migrate 

這併成功地創建了模型和遷移,但運行第二個命令不會在數據庫中構建表。

如果我跑,另一方面這些命令:創建

php oil generate migration create_user name:text 
oil refine migrate 

遷移和表是建立在我的數據庫。我注意到,爲遷移名稱添加'create_'可以創建表,而將其保留(即php oil generate migration user name:text)不會將表插入數據庫。我注意到有和沒有'create_'的生成的遷移有很大不同。

所以我的問題最終是如何創建模型,創建表的關聯遷移?或者,我完全誤解了什麼?

謝謝!

回答

2

如果您收到'已進行最新遷移',您的遷移跟蹤數據不同步。在數據庫(一個稱爲遷移的表)和一個名爲migrations.php的環境文件夾中的配置文件都會跟蹤遷移。

如果其中之一已經有條目,油不會再運行它。

因此,您不能只通過後門刪除表,然後再次運行遷移。您必須運行'migrate:down'才能恢復上次的遷移,或者如果您全部刪除,還要刪除遷移表和配置文件。

再次聲明,在FuelPHP論壇上Harro Verton。