मैं बहुत की तरह एक नया रिकॉर्ड बनाने:रेल ऑटो बताए आईडी पहले से मौजूद है
truck = Truck.create(:name=>name, :user_id=>2)
मेरे डेटाबेस वर्तमान में ट्रक के लिए कई हजार इकाइयां हैं, लेकिन मैं आईडी के सौंपा उनमें से कई के लिए, एक में जिस तरह से कुछ आईडी उपलब्ध है। तो क्या हो रहा है रेल रेल आईडी = 150 के साथ आइटम बनाता है और यह ठीक काम करता है। लेकिन तब यह 151 एक आइटम बनाने और इसे आईडी आवंटित करने के लिए = कोशिश करता है, लेकिन यह है कि आईडी पहले से ही मौजूद हो सकता है, इसलिए मैं इस त्रुटि दिखाई दे रही:
ActiveRecord::RecordNotUnique (PG::Error: ERROR: duplicate key value violates unique constraint "companies_pkey" DETAIL: Key (id)=(151) already exists.
और अगली बार मैं कार्रवाई चलाने के लिए, कहीं भी होगी बस आईडी 152 असाइन करें, जो ठीक काम करेगा यदि वह मान पहले से नहीं लिया गया है। रेलवे को यह जांचने के लिए कैसे मिल सकता है कि यह निर्दिष्ट करने से पहले एक आईडी पहले से मौजूद है या नहीं?
धन्यवाद!
संपादित
ट्रक आईडी क्या दोहराया जा रहा है। उपयोगकर्ता पहले से मौजूद है और इस मामले में निरंतर है। यह वास्तव में एक विरासत मुद्दा है जिसे मुझे सौदा करना है। एक विकल्प, इस बार टेबल को दोबारा बनाने के लिए है, इस बार हर आईडी को ऑटो आईडी असाइन करें। मुझे लगता है कि यह सबसे अच्छा विकल्प हो सकता है क्योंकि मेरे पास कुछ अन्य समस्याएं हैं, लेकिन ऐसा करने के लिए माइग्रेशन बहुत जटिल होगा क्योंकि ट्रक कई अन्य तालिकाओं में एक विदेशी कुंजी है। क्या रेलवे के तहत पहले से ही स्टोर किए गए डेटा के साथ एक नई टेबल बनाने के लिए एक आसान तरीका होगा, ऑटो-असाइन आईडी के साथ और सभी मौजूदा रिश्तों को बनाए रखने के लिए?
आप रेल को स्वचालित रूप से आईडी निर्दिष्ट क्यों नहीं कर रहे हैं? इससे नकल के किसी भी खतरे को खत्म कर दिया जाएगा - या यह एक विरासत डेटा मुद्दा है जहां आपको पुरानी आईडी बनाए रखना चाहिए? बस व्यवसाय के मामले को थोड़ा समझना चाहते हैं क्योंकि यह एक नई वस्तु बनाते समय सामान्य रूप से व्यवसाय नहीं है। – MBHNYC
@MBHNYC मुझे लगता है कि डी-नाइस कंपनी बनाने के दौरान उपयोगकर्ता_आईडी असाइन कर रहा है, और आईडी नहीं जैसा आप सोच रहे हैं (और मैंने एक पल भी किया)। – Anil
ओयू अच्छा पकड़ अनिल - आप पूरी तरह से सही हैं। @ डी-नाइस, शायद इस पोस्ट के लिए अपने पोस्ट में माइग्रेशन को अपनी पोस्ट में जोड़ें, इसमें कुछ अजीब बात है? भ्रम को खत्म करने के लिए उस user_id को संपादित करने के लिए टेम्प्टिंग .. – MBHNYC