2011-11-25 7 views
6

में एक नया माहौल बनाएँ मैं एक अनुभवी रेल डेवलपर, साथ MySQL v5.1 एक रेल v2.3 आवेदन के विकास नहीं कर रहा हूँ।रेल

मैं बनाने की जरूरत:

मुझे यकीन है कि कैसे निम्नलिखित बात को प्राप्त करने नहीं हूँ

1. एक नया पर्यावरण (कि विकास, उत्पादन के अलावा एक नया वातावरण है और परीक्षण वातावरण) नाम 'विशेष' पर्यावरण

2. ऊपर बनाया विशेष पर्यावरण के लिए एक नया डेटाबेस वातावरण, क्या मैंने किया था/config में निम्नलिखित बात जोड़ना है database.yml

special: 
    adapter: mysql2 
    host: localhost 
    username: 
    database: special_db 
    encoding: latin1 

3. एक रेक कार्यविशेष पर्यावरण के तहत चलाने के लिए और रेक कार्य में कोड केवल विशेष डेटाबेस से निपटता है।

इस लक्ष्य को हासिल करने के लिए, मुझे लगता है मैं कुछ विन्यास परिभाषित करने की जरूरत है, लेकिन यकीन नहीं:

  1. क्या/वास्तव में किस प्रकार विशेष पर्यावरण & डेटाबेस बनाने के लिए कॉन्फ़िगर करने के लिए आवश्यक हैं?

    (आपने ऊपर देखा, रूप में, मैं केवल विशेषमें डेटाबेस database.yml फ़ाइल में परिभाषित किया गया है, लेकिन जहां & कैसे नए enverionment के लिए परिभाषित करने और विन्यास के लिए?)

  2. रेक को चलाने के लिए कैसे विशेष पर्यावरण के तहत कार्य कोड और केवल रेल में विशेष डेटाबेस से निपटें। क्या कोई

पीएस

मुझे कमांड लाइन से नहीं बल्कि रेक रेक में सबकुछ चलाने की ज़रूरत है। पर्यावरण कैसे बदलें और परिवर्तन की जांच कैसे करें?

-------------- कारण मिला, लेकिन समाधान सुनिश्चित नहीं है ---------------------

ठीक है, मुझे पता चला है कि mysql2 मणि की वजह से इस वायर्ड समस्या का कारण नया "विशेष" वातावरण लोड नहीं कर सकता है, अगर मैं mysql मणि का उपयोग करने के लिए स्विच करता हूं, तो समस्या समाप्त हो जाएगी। लेकिन इस संभावना को किसी अन्य कारण से mysql2 का उपयोग करना है। इस mysql2 समस्या से कैसे छुटकारा पाएं?

उत्तर

1

प्रयास करें निम्नलिखित:

कॉपी config/वातावरण/development.rb config/वातावरण/special.rb

के डेटाबेस का उपयोग कर

$ RAILS_ENV=special rake db:create 
$ RAILS_ENV=special rake db:migrate 
$ RAILS_ENV=special rails s 
+0

@ map7, धन्यवाद, लेकिन उपर्युक्त चीज़ों को इसके बजाय एक रेक कार्य में कैसे चलाएं कमांड लाइन से चलने का? रेक कार्य में चलाने के लिए पर्यावरण निर्दिष्ट करने के लिए रेल में कोई विशेष तरीका है? – Mellon

+1

और मैं भी "RAILS_ENV = विशेष रेक डीबी: बनाएँ" कमांड लाइन पर कमांड चलाता हूं, सेपियल डेटाबेस – Mellon

0

अपने रेक कार्य में इस रखो बनाएं :

RAILS_ENV = 'special' 
+0

नहीं बनाया गया है, मैंने इसे जोड़ा, फिर मैंने अपने वर्तमान पर्यावरण को कोड "पी ENV ['RAILS_ENV' ] ", मुझे शून्य मिल गया ... – Mellon