Mar*_*jan 5 postgresql ruby-on-rails heroku rails-migrations ruby-on-rails-3
我正在尝试在论坛主题上添加"粘性"选项.这就是我的迁移方式
def self.up
add_column :topics, :sticky, :boolean, :null => false, :default => false
end
def self.down
remove_column :topics, :sticky
end
Run Code Online (Sandbox Code Playgroud)
这在mysql上本地完美,但当我将更改推送到heroku(使用PostgreSQL)时,这是我在使用控制台时得到的
>> t.sticky
=> "f"
>> t.sticky.class
=> String
>> t.sticky = true
=> true
>> t.sticky.class
=> TrueClass
Run Code Online (Sandbox Code Playgroud)
为什么此属性的默认值为String?
编辑:如果我保存对象,它不会改变粘性属性,即它仍然是"f".
在 psql 中,布尔值显示为t
or f
。根据数据库驱动程序,它们会转换为布尔值或保留在字符串表示形式中。
PHP 中的 PDO 驱动程序执行相同的操作。(或者习惯了,无论如何......我隐约记得它在最新版本中不再这样做了。)
归档时间: |
|
查看次数: |
4510 次 |
最近记录: |