Как мне настроить файл database.yml в Rails? - PullRequest
18 голосов
/ 05 сентября 2011

Я делаю это руководство (http://dmix.ca/2008/09/how-to-scrape-websites-in-ruby-on-rails-using-scrubyt/) и шаг 4, прежде чем я начну, - это настройка файла database.yml. Не уверен, что это значит. Может кто-нибудь объяснить, пожалуйста?

Ответы [ 3 ]

66 голосов
/ 05 сентября 2011

database.yml - это файл, в котором вы настраиваете всю информацию для подключения к базе данных.Это зависит от типа используемой БД.Вы можете найти больше информации об этом в Руководство по Rails или в любом учебном пособии, объясняющем, как настроить проект rails.

Информация в файле database.yml ограничена областью, что позволяет вамполучить другую настройку для тестирования, разработки или производства.Важно, чтобы вы отличали их от других, если вы не хотите, чтобы данные, используемые для разработки, удалялись по ошибке при запуске набора тестов.

Что касается контроля версий, вам не следует фиксировать этот файл, а вместо этого создавать шаблон.файл для других разработчиков (называется database.yml.template).При развертывании принято создавать этот файл database.yml в /shared/config непосредственно на сервере.

С 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

MongoDB с MongoID (называемый 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
18 голосов
/ 05 сентября 2011

database.yml - это файл, который создается с новыми приложениями rails в /config и определяет конфигурации базы данных, которые ваше приложение будет использовать в различных средах. Прочтите это для подробностей.

Пример 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           
2 голосов
/ 05 сентября 2011

Сначала я бы использовал http://ruby.railstutorial.org/.

И database.yml - это место, где вы устанавливаете настройки для базы данных, которую использует ваше приложение - имя пользователя, пароль, хост - для каждой базы данных.В новом приложении вам не нужно ничего менять - просто используйте настройку sqlite по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...