जब मैं अपने डीबी माइग्रेट करने का प्रयास करता हूं तो मुझे एक त्रुटि मिल रही है। मैं पूरी तरह से याद है कि कैसे मैं यहाँ है, लेकिन मुझे विश्वास है कि मैं:रेल डीबी माइग्रेशन त्रुटि: संबंध पहले से मौजूद है
- नई शाखा, scaffolded 'अनुरोध', डाटाबेस बनाया: माइग्रेट, गुरु में वापस स्विच, और मर्ज किए गए शाखा
- अन्य शाखा बनाई गई, कुछ सामान किया, डीबी: माइग्रेटेड, और सब कुछ ठीक काम कर रहा था।
heroku postgres डेटाबेस से खींचा गया ताकि मैं वास्तविक डेटा के साथ काम करने पर परीक्षण कर सकूं। तो db माइग्रेट कोशिश की, लेकिन मुझे इस त्रुटि दिया:
rake db:migrate == CreateRequests: migrating ================================================= -- create_table(:requests) NOTICE: CREATE TABLE will create implicit sequence "requests_id_seq1" for serial column "requests.id" rake aborted! An error has occurred, this and all later migrations canceled: PG::Error: ERROR: relation "requests" already exists : CREATE TABLE "requests" ("id" serial primary key, "title" character varying(255), "content" text, "category" character varying(255), "status" character varying(255), "requested_track_id" integer, "created_at" timestamp, "updated_at" timestamp)
कोई भी विचार?
एक अंतर्निहित अनुक्रम बनाने के बारे में संदेश एक त्रुटि नहीं है, केवल एक नोटिस (एक सूचनात्मक संदेश। यह किसी भी तालिका के लिए सामान्य है जो स्वत: वृद्धिशील कॉलम का उपयोग करता है जो सक्रिय आईडी 'id' कॉलम के लिए डिफ़ॉल्ट रूप से करेगा।त्रुटि यह है कि 'अनुरोध' तालिका पहले से मौजूद है। – qqx
तो इस मामले में मुझे क्या करना होगा कि मुझे वह संदेश मिले? मैंने तालिका को छोड़ने के लिए माइग्रेशन बनाकर हल किया, और फिर उसी तालिका को बनाने के लिए माइग्रेशन को दोबारा शुरू किया। क्या कोई बेहतर तरीका है? – kibaekr
आपका डेटाबेस स्कीमा सभी शाखाओं का शुद्ध परिणाम होने वाला है, वही वातावरण मानता है। जब तक आप शाखाओं को मर्ज नहीं करते हैं, तब तक आपका कोड जरूरी नहीं है कि वास्तव में अंतर्निहित डीबी पर माइग्रेशन की श्रृंखला दिखाई दे। और, जब आप माइग्रेशन चलाते हैं, तो पूर्व माइग्रेशन के लिए चेक केवल मौजूदा माइग्रेशन के खिलाफ किए जाएंगे, जो संभावित संघर्षों को इंगित करेंगे। मैं एक शाखा में सभी प्रवासन रखने का सुझाव देना चाहता हूं। –