【发布时间】:2011-05-24 10:28:41
【问题描述】:
我正在尝试在我的论坛主题上添加“粘性”选项。这就是我的迁移的样子
def self.up
add_column :topics, :sticky, :boolean, :null => false, :default => false
end
def self.down
remove_column :topics, :sticky
end
这在 mysql 本地完美运行,但是当我将更改推送到 heroku(使用 PostgreSQL)时,这就是我在使用控制台时得到的结果
>> t.sticky
=> "f"
>> t.sticky.class
=> String
>> t.sticky = true
=> true
>> t.sticky.class
=> TrueClass
为什么这个属性的默认值是字符串?
编辑: 如果我保存对象,它不会改变粘性属性,即它仍然是“f”。
【问题讨论】:
-
我在本地 Postgres 或 Heroku 上看不到这种行为。我正在使用 pg gem 的 Rails 3.0.7 和 0.11.0 版本。顺便说一句,我强烈建议在您的开发机器上本地使用 Postgres。 Postgres 和 mysql 之间存在许多差异(分组依据、区分大小写等),即使这不是(或不应该)其中之一,最终你也会遇到一些问题。
标签: ruby-on-rails ruby-on-rails-3 postgresql heroku rails-migrations