Ruby on Rails - Настройка базы данных
Перед тем, как начать с этой главы, убедитесь, что ваш сервер базы данных запущен и работает. Ruby on Rails рекомендует создать три базы данных - по базе данных для среды разработки, тестирования и производственной среды. По соглашению их имена должны быть -
- library_development
- library_production
- library_test
Вы должны инициализировать все три из них и создать для них пользователя и пароль с полными правами чтения и записи. Мы используемroot ID пользователя для нашего приложения.
Настройка базы данных для MySQL
В MySQL мы используем rootID пользователя для нашего приложения. Сеанс консоли 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.