Как настроить файл database.yml в Rails?
Я делаю этот учебник (http://dmix.ca/2008/09/how-to-scrape-websites-in-ruby-on-rails-using-scrubyt/) и шаг 4, прежде чем я начну для настройки файла database.yml. Не уверен, что это значит. Может кто-нибудь объяснит?
Ответы
Ответ 1
Сначала я использовал http://ruby.railstutorial.org/.
И database.yml - это место, где вы устанавливаете для базы данных свою прикладную программу - имя пользователя, пароль, хост - для каждой базы данных. С новым приложением вам не нужно ничего менять - просто используйте настройку sqlite по умолчанию.
Ответ 2
База данных .yml - это файл, в котором вы настроили всю информацию для подключения к базе данных. Он отличается в зависимости от типа используемой базы данных. Вы можете найти дополнительную информацию об этом в Rails Guide или в любом учебном пособии, объясняющем, как настроить проект рельсов.
Информация в файле 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
Ответ 3
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