2011-09-05 12 views
16

मैं यह ट्यूटोरियल कर रहा हूं (http://dmix.ca/2008/09/how-to-scrape-websites-in-ruby-on-rails-using-scrubyt/) और शुरू करने से पहले चरण 4 डेटाबेस.एमएलएल फ़ाइल सेट अप करें। उसके अर्थ के बारे में सुनिश्चित रूप से नहीं पता है। क्या कोई समझा सकता है?मैं रेल में डेटाबेस.एमएलएल फ़ाइल कैसे स्थापित करूं?

+0

कोई बात नहीं। धन्यवाद जैक। –

उत्तर

2

पहले मैं http://ruby.railstutorial.org/ का प्रयोग करेंगे पर।

और डेटाबेस.yml वह जगह है जहां आप डेटाबेस के लिए सेटअप करते हैं, जो आपके डेटाबेस का उपयोग - उपयोगकर्ता नाम, पासवर्ड, होस्ट - प्रत्येक डेटाबेस के लिए। नए एप्लिकेशन के साथ आपको कुछ भी बदलने की ज़रूरत नहीं है - बस डिफ़ॉल्ट स्क्लाइट सेटअप का उपयोग करें।

16

database.yml एक फ़ाइल है जो /config में नए रेल अनुप्रयोगों के साथ बनाई गई है और डेटाबेस कॉन्फ़िगरेशन को परिभाषित करती है कि आपका एप्लिकेशन विभिन्न वातावरणों में उपयोग करेगा। Read this for details.

उदाहरण database.yml:

development: 
    adapter: sqlite3 
    database: db/development.sqlite3 
    pool: 5 
    timeout: 5000 

test: 
    adapter: sqlite3 
    database: db/test.sqlite3 
    pool: 5 
    timeout: 5000 

production: 
    adapter: mysql 
    encoding: utf8 
    database: your_db 
    username: root 
    password: your_pass 
    socket: /tmp/mysql.sock 
    host: your_db_ip  #defaults to 127.0.0.1 
    port: 3306   
+0

यदि 'database.yml' फ़ाइल को स्रोत नियंत्रण में चेक किया गया है, तो क्या यह वास्तव में खराब चीज ™ नहीं होगा यदि कोई डेटाबेस पासवर्ड चेक किया गया हो - विशेष रूप से उत्पादन से एक? – Makoto

+1

@ मकोटो हां यह एक जोखिम है। एक विकल्प पर्यावरण चर का उपयोग करना है। उदाहरण के लिए, हेरोोकू 'DATABASE_URL' पर्यावरण चर का उपयोग करता है जिसमें उपयोगकर्ता नाम, पासवर्ड और डीबी के स्थान जैसे डेटा शामिल हैं। इसके बाद यह env var को पार करता है और 'डेटाबेस.एमएलएल' फ़ाइल बनाने के लिए इसका उपयोग करता है। – Dennis

58

डेटाबेस.इमएल वह फ़ाइल है जहां आपने डेटाबेस से कनेक्ट करने के लिए सभी जानकारी सेट की है। यह आपके द्वारा उपयोग किए जाने वाले डीबी के प्रकार के आधार पर भिन्न होता है। आप इसके बारे में Rails Guide या किसी भी ट्यूटोरियल में रेलवे प्रोजेक्ट को सेट करने के तरीके के बारे में अधिक जानकारी प्राप्त कर सकते हैं।

डेटाबेस.इमल फ़ाइल में जानकारी पर्यावरण द्वारा स्कॉप्ड की जाती है, जिससे आप परीक्षण, विकास या उत्पादन के लिए एक अलग सेटिंग प्राप्त कर सकते हैं। यह महत्वपूर्ण है कि यदि आप अपने परीक्षण सूट को चलाने के दौरान गलती से हटाए गए विकास के लिए उपयोग किए जाने वाले डेटा को नहीं चाहते हैं तो आप उन्हें अलग रखें।

स्रोत नियंत्रण के संबंध में, आपको यह फ़ाइल नहीं करनी चाहिए बल्कि इसके बजाय अन्य डेवलपर्स (database.yml.template कहा जाता है) के लिए टेम्पलेट फ़ाइल बनाएं। तैनाती करते समय, इस डेटाबेस को सीधे डेटाबेस पर /shared/config में डेटाबेस.आईएमएल फ़ाइल बनाना है। svn propset svn:ignore config "database.yml"

Git के साथ

:

SQLite

:, कुछ उदाहरण .gitignore फाइल करने के लिए config/database.yml जोड़ें या git-extra git ignore config/database.yml


साथ ... और अब

SVN के साथ

adapter: sqlite3 
database: db/db_dev_db.sqlite3 
pool: 5 
timeout: 5000 

MYSQL

adapter: mysql 
database: my_db 
hostname: 127.0.0.1 
username: root 
password: 
socket: /tmp/mysql.sock 
pool: 5 
timeout: 5000 

MongoID (बुलाया mongoid.yml, लेकिन मूल रूप से एक ही बात) के साथ MongoDB

host: <%= ENV['MONGOID_HOST'] %> 
port: <%= ENV['MONGOID_PORT'] %> 
username: <%= ENV['MONGOID_USERNAME'] %> 
password: <%= ENV['MONGOID_PASSWORD'] %> 
database: <%= ENV['MONGOID_DATABASE'] %> 
# slaves: 
# - host: slave1.local 
#  port: 27018 
# - host: slave2.local 
#  port: 27019 
संबंधित मुद्दे