sql >> データベース >  >> RDS >> PostgreSQL

外部キー制約のためにオブジェクトを削除できません

    最初にユーザーを参照するIDを削除する必要があります。次に、ユーザーを削除できます。デフォルトでは、外部キーはrestrictを実行しています。 そのため、ユーザーを参照している場合は削除できません。

    Railsを使用してIDの破棄を処理したい場合は、

    class User < ActiveRecord::Base
      has_many :identities,  dependent: :destroy 
    
      ......
    
     end 
    

    これにより、Railsはすべての依存レコードを破棄します。

    ただし、外部キーを使用しているため、移行を調整してカスケード削除を設定できます

     add_foreign_key :identities, :users, on_delete: :cascade
    

    ネイティブサポートのあるレール4.2を想定



    1. macOSにSQLiteをインストールする方法

    2. ORA-12704:文字セットの不一致

    3. ODP.NET Oracle.ManagedDataAccessにより、ORA-12537ネットワークセッションのファイルが終了します

    4. ORA-12514 TNS:リスナーは現在、接続記述子で要求されたサービスを認識していません