は、ここで私はあなたがより良いものをしました、それを追加し、私が代わりにそれを受け入れるだろうしてください場合に、思いついたお粗末が、ワーキングソリューションです。 config/initializers/postgresql_strings.rb
module DataMapper
module Migrations
module PostgresAdapter
def self.included(base)
base.extend ClassMethods
end
module ClassMethods
def type_map
precision = Property::Numeric.precision
scale = Property::Decimal.scale
super.merge(
Property::Binary => { :primitive => 'BYTEA' },
BigDecimal => { :primitive => 'NUMERIC', :precision => precision, :scale => scale },
Float => { :primitive => 'DOUBLE PRECISION' },
String => { :primitive => 'TEXT' } # All that for this
).freeze
end
end
end
end
end
# If you're including dm-validations, it will surprisingly attempt
# to validate strings to <= 50 characters, this prevents that.
DataMapper::Property::String.auto_validation(false)
で
私が試しええ、それは少数の一つであったスローそれ-と-来て見-IF-バックアイデアは:)長さの効果に何かして戻ってくるのである必要があります整数または範囲。いかなる長さは、私たちに50あるデフォルトの長さを取得していません!それは無制限であるべきであり、その旨のバグは長い時間前に解決として閉鎖されたが、それはそれで作らなかったり、途中で失われてしまったのどちらか。 –
また、続編を使用してみてください。はるかに強力な私は(cursorily)テストしてきた限り、 - あなたはSQLを理解していれば1をはるかに自然な感じ。それはwith-queriesとトリガー関数をサポートします。 –