2
我有一个非常简单的迁移,增加了一个布尔柱:为什么这个简单的Rails迁移不能更新我的数据库?
class AddMuteToPreferences < ActiveRecord::Migration
def self.up
add_column :preferences, :mute_audio, :boolean, :default => false
end
def self.down
remove_column :preferences, :mute_audio
end
end
我运行迁移:
== 81 AddMuteToPreferences: migrating =========================================
-- add_column(:preferences, :mute_audio, :boolean, {:default=>false})
-> 1.9043s
== 81 AddMuteToPreferences: migrated (1.9047s) ================================
看起来桃色的,对不对?但是,由于某些原因,我的偏好设置表中仍然没有mute_audio列。
我找不出来。我之前执行过add_column,没有任何问题。
有没有人见过这种行为?
您是否正在查看与您执行迁移相同环境的数据库? – Eimantas 2009-10-04 10:28:26
那么,我只是在做rake db:migrate(没有指定env)。 我正在做ruby脚本/控制台来检查迁移后的模型。 在这两种情况下,它应该默认开发,对不对? – Altay 2009-10-04 10:37:32
事实上,双重检查并不会造成伤害。你也可能想尝试迁移。如果它通过 - 确实增加了列。尾日志/ development.log也应该有帮助! – Eimantas 2009-10-04 10:41:09