Разница между рейком db: автообновление и рейком db: автомиграция
Я новичок в Ruby on Rails и Datamapper. Может кто-нибудь, пожалуйста, скажите мне, в чем разница между rake db:autoupgrade
а также rake db:automigrate
в datamapper. Потому что в моем приложении я использовал модель A и модель B следующим образом:
class A
includes DataMapper::resource
property :id, Serial
belongs_to :B, :required=>true
end
class B
includes DataMapper::resource
property :id, Serial
has n, :As
end
Потом после смены :required => false
в модели А при этом rake db:autoupgrade
никаких изменений не происходит с таблицей A в базе данных, но при этом rake db:automigrate
появляется следующая ошибка:
cannot delete or update a parent row: a foreign key constraint fails
1 ответ
Если есть константа внешнего ключа, вы не можете удалить связанную таблицу. что еще вы можете сделать, это rake db:drop
и создайте таблицу снова.