У меня есть очень простая миграция, которая добавляет одно булево столбец:Почему эта простая миграция 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
Ну, я просто делаю rake db: migrate (не указано env). И я делаю ruby script/console, чтобы изучить модель после миграции. В обоих случаях он должен по умолчанию разрабатывать, не так ли? – Altay
Действительно, но двойная проверка не повредит. Также вы можете попробовать перейти вниз. Если он пройдет - столбец был добавлен действительно. Хвост log/development.log тоже должен помочь! – Eimantas