रेल वास्तव में विचारों की तरह "उन्नत" डेटाबेस अवधारणाओं को नहीं समझते हैं, इसलिए वे आपके schema.rb में दिखाई नहीं देंगे . जब rspec अपना परीक्षण डेटाबेस स्थापित कर रहा है, तो वह schema.rb . का उपयोग करेगा डेटाबेस स्कीमा बनाने के लिए, क्योंकि आपको अपने विचार schema.rb . में नहीं मिलेंगे , आप परीक्षण डेटाबेस में अपने विचार नहीं पाएंगे जिसका उपयोग rspec करेगा और सब कुछ अलग हो जाएगा।
समाधान schema.rb . से स्विच करना है करने के लिए structure.sql . आपको अपने config/application.rb . को अपडेट करने में सक्षम होना चाहिए कहने के लिए:
config.active_record.schema_format = :sql
और फिर एक rake db:structure:dump do करें structure.sql . उत्पन्न करने के लिए फ़ाइल। एक बार आपके पास यह हो जाने के बाद, schema.rb को हटा दें अपने फ़ाइल सिस्टम और संशोधन नियंत्रण से, structure.sql add जोड़ें , और पुन:प्रयास करें।