Прежде чем начать с этой главы, убедитесь, что ваш сервер баз данных запущен и работает. Ruby on Rails рекомендует создать три базы данных — базы данных, каждая для среды разработки, тестирования и производства. Согласно конвенции, их имена должны быть —
- library_development
- library_production
- library_test
Вы должны инициализировать все три из них и создать для них пользователя и пароль с полными привилегиями чтения и записи. Мы используем ID пользователя root для нашего приложения.
Настройка базы данных для MySQL
В MySQL мы используем ID пользователя root для нашего приложения. Консольный сеанс MySQL, в котором вы это делаете, выглядит примерно так:
mysql> create database library_development; Query OK, 1 row affected (0.01 sec) mysql> grant all privileges on library_development.* to 'root'@'localhost' identified by 'password'; Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)
Вы можете сделать то же самое для еще двух баз данных library_production и library_test .
Конфигурирование database.yml
На этом этапе вам необходимо сообщить Rails об имени пользователя и пароле для баз данных. Вы делаете это в файле database.yml , который находится в подкаталоге library \ config созданного вами Rails-приложения. Этот файл содержит разделы конфигурации для баз данных MySQL. В каждом из используемых вами разделов необходимо изменить строки имени пользователя и пароля, чтобы отразить разрешения для созданных вами баз данных.
Когда вы закончите, это должно выглядеть примерно так —
development: adapter: mysql database: library_development username: root password: [password] host: localhost test: adapter: mysql database: library_test username: root password: [password] host: localhost production: adapter: mysql database: library_production username: root password: [password] host: localhost
Настройка базы данных для PostgreSQL
По умолчанию PostgreSQL не предоставляет никаких пользователей. Мы должны создавать новых пользователей. Используйте следующую команду, чтобы создать пользователя с именем rubyuser .
tp> sudo -u postgres createuser rubyuser -s
Если вы хотите создать пароль для нового пользователя, используйте следующую команду.
tp> sudo -u postgres psql postgres=# \password rubyuser
Используйте следующую команду для создания базы данных library_development .
postgres=# CREATE DATABASE library_development OWNER rubyuser; CREATE DATABASE
Используйте следующую команду для создания базы данных library_production .
postgres=# CREATE DATABASE library_production OWNER rubyuser; CREATE DATABASE
Используйте следующую команду для создания базы данных library_test .
postgres=# CREATE DATABASE library_test OWNER rubyuser; CREATE DATABASE
Нажмите Ctrl + D, чтобы завершить работу PosgreSQL.
Конфигурирование database.yml
На этом этапе вам необходимо сообщить Rails имя пользователя и пароль для баз данных. Вы делаете это в файле database.yml , который находится в подкаталоге library \ config созданного вами Rails-приложения. Этот файл содержит разделы конфигурации для баз данных PostgreSQL. В каждом из разделов вам необходимо изменить строки имени пользователя и пароля, чтобы отразить разрешения для созданных вами баз данных.
Когда вы закончите, это должно выглядеть следующим образом —
default: &default adapter: postgresql encoding: unicode development: adapter: postgresql encoding: unicode database: library_development username: rubyuser password: <Password for rubyuser> test: adapter: postgresql encoding: unicode database: library_test username: rubyuser password: <Password for rubyuser> production: adapter: postgresql encoding: unicode database: library_production username: rubyuser password: <Password for rubyuser>
Что дальше?
В следующих двух главах объясняется, как моделировать таблицы базы данных и как управлять ими с помощью Rails Migrations.