ऐसा लगता है कि निम्नलिखित सत्य है:
20120525005302_create_users.rb
एकusers
बनाने का प्रयास करेगा आपके डेटाबेस में तालिका।20120611000411_devise_create_users.rb
एकusers
बनाने का भी प्रयास करेगा डेटाबेस में तालिका।- आपके डेटाबेस में वर्तमान में पहले से ही एक
users
है तालिका में है, इसलिए दूसरे माइग्रेशन पर माइग्रेशन विफल हो जाता है।
users
प्राप्त करने के लिए आपके डेटाबेस में तालिका 20120611000411_devise_create_users.rb
से ठीक से मेल खाने के लिए माइग्रेशन, आप दो में से एक काम कर सकते हैं:
- डेटाबेस को वापस रोल करें (या छोड़ें), और फिर माइग्रेशन को फिर से चलाएँ। (आप
20120525005302_create_users.rb
को हटा सकते हैं अगर यह खाली है।) - अपना
20120611000411_devise_create_users.rb
संशोधित करें किसी भी मौजूदाusers
को छोड़ने के लिए माइग्रेशन कुछ और करने से पहले टेबल। - अपना
20120611000411_devise_create_users.rb
संशोधित करें माइग्रेशन इस प्रकार है:users
बनाने के बजाय तालिका, मौजूदा तालिका को संशोधित करें।- डेटाबेस घटकों को संगत करने के लिए जोड़ें और संशोधित करें
आम तौर पर, यदि आपका एप्लिकेशन "शिशु अवस्था" में है, तो डेटाबेस को फिर से बनाना किसी एप्लिकेशन की प्रारंभिक संरचना बनाने का एक त्वरित तरीका है। हालाँकि यदि आपके पास पहले से ही आपके users
. में महत्वपूर्ण डेटा है तालिका, आप इसे रखना चाहेंगे और 20120611000411_devise_create_users.rb
को संशोधित करके आगे बढ़ना चाहेंगे डेटाबेस को गैर-विनाशकारी रूप से बदलने के लिए माइग्रेशन।
संदर्भ