0

Ruby on Rails と Datamapper は初めてです。rake db:autoupgraderake db:automigratedatamapperの違いを教えてください。私のアプリケーションでは、次のようにモデル 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 に答える