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

हरोकू रन रेक डीबी:माइग्रेट एरर

ऐसा लगता है कि निम्नलिखित सत्य है:

  • 20120525005302_create_users.rb एक users बनाने का प्रयास करेगा आपके डेटाबेस में तालिका।
  • 20120611000411_devise_create_users.rb एक users बनाने का भी प्रयास करेगा डेटाबेस में तालिका।
  • आपके डेटाबेस में वर्तमान में पहले से ही एक users है तालिका में है, इसलिए दूसरे माइग्रेशन पर माइग्रेशन विफल हो जाता है।

users प्राप्त करने के लिए आपके डेटाबेस में तालिका 20120611000411_devise_create_users.rb से ठीक से मेल खाने के लिए माइग्रेशन, आप दो में से एक काम कर सकते हैं:

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

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

संदर्भ



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एकाधिक आईपी पतों के लिए postgresql postgresql.conf सुनो_एड्रेस को कैसे कॉन्फ़िगर करें

  2. Postgres अद्वितीय बाधाओं की जाँच कब करता है?

  3. PostgreSQL रिकॉर्ड के माध्यम से पुनरावृति। अगली पंक्ति से डेटा का संदर्भ कैसे लें?

  4. MySQL में PostgreSQL का date_trunc

  5. पोस्टग्रेज में फ़ील्ड का डेटाटाइप चुनें