これがschema.rbにあるとしましょう:
create_table "products" do |t|
t.string "name",
t.text "description"
end
商品属性のデータベースタイプを確認する方法が必要です。
何かのようなもの:Product.column_type(:name) => "string"
これは可能ですか?
これがschema.rbにあるとしましょう:
create_table "products" do |t|
t.string "name",
t.text "description"
end
商品属性のデータベースタイプを確認する方法が必要です。
何かのようなもの:Product.column_type(:name) => "string"
これは可能ですか?
Product.columns_hash['name'].type # => :string
記号の代わりに文字列を使用していることに注意してください。
代替案について:sql_type
論理RailsタイプをDB固有のデータタイプにマップします。汎用的なものとしては、使用をお勧めしません。本番DBエンジンはsql_type
、開発DBのまったく同じ列の値と同じではない値を返します(ただし、両方とも同じ移行ファイルで作成されています)。 )。ブールフィールドの例:
# SQLite mapping:
:boolean => { :name => "boolean" }
# MySQL mapping:
:boolean => { :name => "tinyint", :limit => 1 }
type
どちらの場合も使用:boolean
すると、移行で指定したように、が得られます。