रेल वास्तव में विचारों की तरह "उन्नत" डेटाबेस अवधारणाओं को नहीं समझते हैं, इसलिए वे आपके 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 जोड़ें , और पुन:प्रयास करें।