使用Ruby 2.0.0-p195和Rails 3.2.13以及v0.3.1的 postgres_ext gem。
看起来我在使用Rails时经常遇到模式转储的问题(不是SQL结构转储),其中模式转储器将UUID列转换为文本列,并将数组转换为默认值为
如果我手动检查数据库的结构或者询问Rails一个属性的列类型,一切看起来都很正常。这个问题自然会带来各种混乱。除了切换到SQL结构转储,我如何获取正确的模式转储呢?
看起来我在使用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结构转储,我如何获取正确的模式转储呢?