Эта статья является дополнением к моей предыдущей публикации "Как связана модель и таблица в БД?". Для того чтобы успешно работать с БД, ActiveRecord должен получить ее описание. Дальше он сам подберет нужный для работы драйвер. Программист не должен заботится о том с какой базой даных он работает, единственное что он должен сделать - правильно настроить конфигурационный файл подключения к базе и создать саму базу в соответствующем редакторе (например SQL Manager for MySQL).
Откроем папку с проектом и найдем там файл \config\database.yml. Первоначально он имеет вид (я опускаю комментарии. Комментарием считается строка которая начинается с символа "#"):
development:
adapter: mysql
encoding: utf8
database: blogger
username: root
password: 123123
host: localhost
test:
adapter: mysql
encoding: utf8
database: TestApplication_test
username: root
password:
host: localhost
production:
adapter: mysql
encoding: utf8
database: TestApplication_production
username: root
password:
host: localhost
Здесь описаны подключения к трем БД:
Откроем папку с проектом и найдем там файл \config\database.yml. Первоначально он имеет вид (я опускаю комментарии. Комментарием считается строка которая начинается с символа "#"):
development:
adapter: mysql
encoding: utf8
database: blogger
username: root
password: 123123
host: localhost
test:
adapter: mysql
encoding: utf8
database: TestApplication_test
username: root
password:
host: localhost
production:
adapter: mysql
encoding: utf8
database: TestApplication_production
username: root
password:
host: localhost
Здесь описаны подключения к трем БД:
- тестовой(на которой прогоняют тесты)
- БД разработчика(которая подключается к локально установленному проекту разработчика)
- БД production(которая включается в релиз готового проекта)
- adapter: mysql - указывается база данных с которой предстоит работать
- encoding: utf8 - выбирается кодировка хранимых данных (следите чтобы она совпадала с кодировкой самого проекта)
- database: TestApplication_production - имя уже созданной базы данных
- username: root - логин админа БД
- password: - пароль админа БД (если он не пустой)
- host: localhost - хост БД, localhost указывет на то что работать предстоит на локальной машине
Теперь вам предстоит создать тестовую(test) и девелоперскую(
development) БД и прописать соответствующие параметры в database.yml. Базу данных для продакшина(production) можно закомментировать, так как она понадобится только после завершения проекта или выхода первого релиза.
К выбору имени БД тоже есть некоторые соглашения. Если вы планируете назвать вашу БД к примеру "my_database", то к имени тестовой БД принято добавлять суфикс "_test", а к девелоперской - "_development". В результате получим my_database_test и my_database_development соответственно.
development) БД и прописать соответствующие параметры в database.yml. Базу данных для продакшина(production) можно закомментировать, так как она понадобится только после завершения проекта или выхода первого релиза.
К выбору имени БД тоже есть некоторые соглашения. Если вы планируете назвать вашу БД к примеру "my_database", то к имени тестовой БД принято добавлять суфикс "_test", а к девелоперской - "_development". В результате получим my_database_test и my_database_development соответственно.
не подскажет ли любезный автор начинающему, где можно глянуть перечень возможных параметров, конфигурируемых в database.yml? У меня нестандартная ситуация и необходимы тонкие настройки.
ОтветитьУдалитьНапишите вопрос userfoenix@gmail.com
ОтветитьУдалитьНеплохой набор из двух статей можно прочитать здесь: http://www.unixfun.ru/archives/83 и здесь: http://www.unixfun.ru/archives/76
ОтветитьУдалитьТам на мой взгляд подробнее описана настройка PostgreSQL.