2011-02-04 78 views
4

我在Rails中遇到了schema.rb問題。如果我運行rake db:migrate的結果是不同的不同的數據庫,如果我使用PostgreSQL和文本字段它給了我Rails schema.rb對於不同的數據庫有所不同

t.text  "summary" 

線,但使用SQLite它給了我

t.text  "summary", :limit => 255 

而且當要精確我用:default,空格數量不同,PostgreSQL的:

t.boolean "watched", :default => false, :null => false 

SQLite的:

t.boolean "watched",     :default => false, :null => false 

這是很煩人的,當我在生產環境中運行rake db:migrate它改變了我的schema.rb,顯然我不能用在開發環境中產生schema.rb當生產中使用rake db:schema:load。我的問題是爲什麼會有差異,我如何讓它們消失,所以schema.rb對於生產和開發是一樣的?

回答

10

爲了您自己的理智,我建議您在開發時使用與生產相同的數據庫引擎。在本地MySQL或PostgreSQL服務器上啓動和運行並不需要太多的努力,並且您可以避免一些令人討厭的驚喜,因爲您一旦開始嘗試在您將使用的同一後端進行所有開發和測試生產。

+2

不是我正在尋找的答案,但它是一個很好的建議。我將在開發中使用PostgreSQL,謝謝。 – 2011-02-05 00:25:44

相關問題