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