0

我是 Ruby on Rails 和 Datamapper 的新手。谁能告诉我datamapperrake db:autoupgrade和in 之间有什么区别。rake db:automigrate因为在我的应用程序中,我使用了模型 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模型 A 中rake db:autoupgrade更改后,数据库中的 A 表没有发生任何更改,但在执行rake db:automigrate以下错误时出现:

 cannot delete or update a parent row: a foreign key constraint fails
4

1 回答 1

1

如果存在外键常量则不能删除关联表。你还能做的就是rake db:drop再次创建表。

于 2013-09-14T06:30:17.247 回答