PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

विदेशी कुंजी बाधा के कारण वस्तु को हटा नहीं सकता

आपको उस पहचान को हटाना होगा जो पहले उपयोगकर्ता को संदर्भित करती है। तब आप उपयोगकर्ता को हटा सकते हैं .. डिफ़ॉल्ट रूप से विदेशी कुंजी एक restrict कर रही है इसलिए यदि कुछ भी इसका संदर्भ देता है तो आप उपयोगकर्ता को हटा नहीं सकते।

यदि आप पहचान को नष्ट करने के लिए रेल का उपयोग करना चाहते हैं तो आप कर सकते हैं

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

  ......

 end 

जिससे रेल सभी आश्रित अभिलेखों को नष्ट कर देगी।

लेकिन जैसा कि आप विदेशी कुंजियों का उपयोग कर रहे हैं, आप अपने माइग्रेशन को कैस्केड डिलीट सेट करने के लिए समायोजित कर सकते हैं

 add_foreign_key :identities, :users, on_delete: :cascade

रेल 4.2 मानकर जिसका मूल समर्थन है



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle से PostgreSQL में माइग्रेट करना - आपको क्या पता होना चाहिए

  2. पोस्टग्रेएसक्यूएल बी-ट्री इंडेक्स पर नोट्स

  3. तार्किक प्रतिकृति के साथ PostgreSQL 11 में अपग्रेड करना

  4. PostgreSQL में एक नंबर पर प्लस/माइनस साइन तैयार करें

  5. बड़ा पूर्णांक सरणी कार्य