[英]How do I set up the database.yml file in Rails?
我正在做這個教程(http://dmix.ca/2008/09/how-to-scrape-websites-in-ruby-on-rails-using-scrubyt/),在我開始之前是第4步設置database.yml文件。 不確定那是什么意思。 有人可以解釋一下嗎?
database.yml是您設置連接到數據庫的所有信息的文件。 它根據您使用的DB類型而有所不同。 您可以在Rails指南或任何解釋如何設置rails項目的教程中找到有關此內容的更多信息。
database.yml文件中的信息由環境確定,允許您為測試,開發或生產獲取不同的設置。 如果您不希望在運行測試套件時錯誤地刪除用於開發的數據,那么保持這些區別非常重要。
關於源代碼控制,您不應提交此文件,而是為其他開發人員創建模板文件(稱為database.yml.template
)。 部署時,約定是直接在服務器上的/shared/config
創建此database.yml文件。
使用SVN: svn propset svn:ignore config "database.yml"
使用Git:將config/database.yml
添加到.gitignore文件或使用git-extra git ignore config/database.yml
......現在,舉一些例子:
SQLite的
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的MongoDB(稱為mongoid.yml,但基本相同)
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
database.yml
是使用/config
新rails應用程序創建的文件,它定義了應用程序將在不同環境中使用的數據庫配置。 閱讀本文了解詳情。
示例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
起初我會使用http://ruby.railstutorial.org/ 。
而database.yml是您為應用程序使用數據庫設置的地方 - 用戶名,密碼,主機 - 用於每個數據庫。 使用新的應用程序,您無需更改任何內容 - 只需使用默認的sqlite設置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.