簡體   English   中英

如何在Rails中設置database.yml文件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM