PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

tidak dapat menghapus objek karena batasan kunci asing

Anda harus menghapus Identitas yang merujuk pengguna terlebih dahulu. Kemudian Anda dapat menghapus pengguna.. Secara default, kunci asing melakukan restrict jadi Anda tidak dapat menghapus pengguna jika ada referensi ke sana.

jika Anda ingin menggunakan Rails untuk menangani penghancuran identitas, Anda dapat melakukannya

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

  ......

 end 

Yang akan menyebabkan Rails menghancurkan semua catatan dependen.

Tetapi saat Anda menggunakan kunci Asing, Anda dapat menyesuaikan migrasi Anda untuk menyetel penghapusan berjenjang

 add_foreign_key :identities, :users, on_delete: :cascade

Dengan asumsi Rails 4.2 yang memiliki dukungan asli



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 7 Hal Yang Harus Diwaspadai Dalam Penerapan PostgreSQL Anda

  2. Bagaimana Mod() Bekerja di PostgreSQL

  3. Fungsi AVG() di PostgreSQL

  4. Django + Psycopg2:InterfaceError:hanya protokol 3 yang didukung

  5. Satu Sistem Keamanan untuk Aplikasi, Penyatuan Koneksi, dan PostgreSQL - Kasus untuk LDAP