spi*_*ike 1 ruby-on-rails ruby-on-rails-3
假设我在schema.rb中有这个:
create_table "products" do |t|
t.string "name",
t.text "description"
end
Run Code Online (Sandbox Code Playgroud)
我想要一种方法来找出产品属性的数据库类型是什么.
就像是: Product.column_type(:name) => "string"
这可能吗?
Product.columns_hash['name'].type # => :string
Run Code Online (Sandbox Code Playgroud)
注意使用字符串而不是符号.
关于替代方案:sql_type
它将逻辑Rails类型映射到特定于DB的数据类型.对于一般用途我不建议使用它:您的生产数据库引擎将返回与sql_type开发数据库中的同一列不同的值(尽管它们都是使用相同的迁移文件创建的).布尔字段的示例:
# SQLite mapping:
:boolean => { :name => "boolean" }
# MySQL mapping:
:boolean => { :name => "tinyint", :limit => 1 }
Run Code Online (Sandbox Code Playgroud)
使用type在这两种情况下给你:boolean,因为你在迁移指定.
| 归档时间: |
|
| 查看次数: |
1220 次 |
| 最近记录: |