यह त्रुटि मैं जब मैं पहली बार वसीयत को स्थापित कर रहा हूँ और rake db:migrate
चलाने के है:वसीयत रेक db: विस्थापित मेरी उपयोगकर्ता की तालिका में डुप्लिकेट स्तंभ के कारण विफल रहता - रेल 3.1
== AddDeviseToUsers: migrating ===============================================
-- change_table(:users)
rake aborted!
An error has occurred, this and all later migrations canceled:
SQLite3::SQLException: duplicate column name: email: ALTER TABLE "users" ADD "email" varchar(255) DEFAULT '' NOT NULL
यह देखते हुए कि यह सिर्फ परीक्षण डाटा है , मैं बस अपने डीबी में उस कॉलम को हटा सकता हूं और इसे फिर से चला सकता हूं, लेकिन यह बहुत रेलवे प्रतीत नहीं होता है - अगर केवल इसलिए कि यह मेरा स्टेजिंग सर्वर (मेरे ऐप के साथ एकमात्र अन्य सर्वर) बना देगा, मेरे localhost
के साथ सिंक करें।
इसके अलावा, अगर किसी अन्य कॉलम के साथ कोई संघर्ष हो तो क्या होगा।
इसलिए माइग्रेशन चलाने से पहले यह मेरी User
तालिका की स्कीमा है, मुझे इसे कैसे संभालना चाहिए? कुछ प्रकार के प्रवासन के साथ जो नाम बदलता है?
# == Schema Information
#
# Table name: users
#
# id :integer not null, primary key
# email :string(255)
# f_name :string(255)
# l_name :string(255)
# username :string(255)
# role_id :integer
# picture :string(255)
# about_me :string(255)
# website :string(255)
# created_at :datetime
# updated_at :datetime
#
कोई भी नहीं हुआ कि मेरे पास 'डीबी: माइग्रेट' चलाने से पहले मेरे स्कीमा के साथ मेरा 'उपयोगकर्ता' मॉडल था। मेरे पास मौजूदा जानकारी के साथ तालिका में संग्रहीत कुछ उपयोगकर्ता भी थे। हालांकि, अब मैं एक मौजूदा उपयोगकर्ता मॉडल में डेविस स्थापित करने की कोशिश कर रहा हूं, मुझे यह त्रुटि मिलती है। तो हाँ, मुझे पता है कि एक 'ईमेल' कॉलम मौजूद है। मैं बस इसे या तो अनदेखा करना चाहता हूं, या संशोधित करने की आवश्यकता के तरीके को संशोधित करना चाहता हूं। – marcamillion
आप इसे छोड़ सकते हैं लेकिन अपने प्रवासन पर हमारी लाइन पर टिप्पणी कर सकते हैं। उसके बाद, आप रेक डीबी चलाते हैं: फिर से माइग्रेट करें। – Benjamin
हाँ यहां एक ही समस्या है और मैंने जो कुछ किया है, वह उस पंक्ति पर टिप्पणी कर रहा है जहां ईमेल तालिका को # t.string जैसे ईमेल माइग्रेशन में बनाया गया है: ईमेल,: null => false,: default => "" – mattwallace