![](/img/trans.png)
[英]Using postgres_ext with postgis adapter not working with array columns
[英]Rails 3.2 schema dump turns all UUID columns to text and mangles array declarations with postgres_ext gem
使用Ruby 2.0.0-p195和postgres_ext gem的 Rails 3.2.13和v0.3.1。
我似乎經常使用Rails進行模式轉儲(而不是SQL結構轉儲),其中模式轉儲器將UUID列轉換為文本列,將數組轉換為默認為"{}"
文本列。 諸如rake db:schema:dump
類的常規操作會導致破壞性差異,如下所示:
- t.string "dbas", :default => [], :array => true
- t.string "industries", :default => [], :array => true
+ t.text "dbas", :default => "{}"
+ t.text "industries", :default => "{}"
- t.uuid "uuid"
+ t.text "uuid"
如果我手動檢查數據庫的結構或只是詢問Rails它認為給定屬性有哪種類型的列類型,一切看起來都很好。
當然,這個問題會造成各種各樣的破壞。 如果沒有切換到SQL結構轉儲,我怎樣才能獲得正確的架構轉儲?
使用Rails 3.2,您需要使用rake db:structure:dump
來轉儲模式的SQL版本而不是Ruby版本。
使用rake db:schema:dump
,Rails 4會處理更多類型,這正是您要查找的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.