sql >> Databasteknik >  >> RDS >> PostgreSQL

kan inte ta bort objekt på grund av en främmande nyckel

Du måste först ta bort den identitet som refererar till användaren. Sedan kan du ta bort användaren. Som standard gör den främmande nyckeln en restrict så du kan inte ta bort användaren om något refererar till den.

om du vill använda Rails för att hantera att förstöra identiteten kan du göra

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

  ......

 end 

Vilket skulle få Rails att förstöra alla beroende poster.

Men eftersom du använder främmande nycklar kan du justera din migrering för att ställa in kaskadborttagningar

 add_foreign_key :identities, :users, on_delete: :cascade

Förutsatt att skenorna 4.2 har inbyggt stöd



  1. Få datum från ett veckonummer i T-SQL

  2. JavaFX MySQL-anslutningsexempel tack

  3. Använder variabel i en LIMIT-sats i MySQL

  4. Kan inte ansluta till MySQL-servern på "localhost" (10061)