Ruby on Rails - Configuração de banco de dados
Antes de iniciar este capítulo, certifique-se de que seu servidor de banco de dados esteja instalado e funcionando. Ruby on Rails recomenda criar três bancos de dados - um banco de dados para cada ambiente de desenvolvimento, teste e produção. De acordo com a convenção, seus nomes devem ser -
- library_development
- library_production
- library_test
Você deve inicializar todos os três e criar um usuário e uma senha para eles com privilégios totais de leitura e gravação. Estamos usando oroot ID de usuário para nosso aplicativo.
Configuração de banco de dados para MySQL
No MySQL, estamos usando o rootID de usuário para nosso aplicativo. A sessão do console MySQL na qual você faz isso se parece com -
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)
Você pode fazer a mesma coisa para mais dois bancos de dados library_production e library_test.
Configurando database.yml
Neste ponto, você precisa informar ao Rails o nome de usuário e senha para os bancos de dados. Você faz isso no arquivodatabase.yml, disponível no library\configsubdiretório do aplicativo Rails que você criou. Este arquivo possui seções de configuração ao vivo para bancos de dados MySQL. Em cada uma das seções usadas, você precisa alterar as linhas de nome de usuário e senha para refletir as permissões nos bancos de dados que você criou.
Ao terminar, deve ser algo como -
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
Configuração do banco de dados para PostgreSQL
Por padrão, o PostgreSQL não fornece nenhum usuário. Temos que criar novos usuários. Use o seguinte comando para criar um usuário com o nomerubyuser.
tp> sudo -u postgres createuser rubyuser -s
Se você deseja criar uma senha para o novo usuário, use o seguinte comando.
tp> sudo -u postgres psql
postgres=# \password rubyuser
Use o seguinte comando para criar um banco de dados library_development.
postgres=# CREATE DATABASE library_development OWNER rubyuser;
CREATE DATABASE
Use o seguinte comando para criar um banco de dados library_production.
postgres=# CREATE DATABASE library_production OWNER rubyuser;
CREATE DATABASE
Use o seguinte comando para criar um banco de dados library_test.
postgres=# CREATE DATABASE library_test OWNER rubyuser;
CREATE DATABASE
pressione Ctrl+D para encerrar o PosgreSQL.
Configurando database.yml
Neste ponto, você precisa informar ao Rails o nome de usuário e a senha dos bancos de dados. Você faz isso no arquivodatabase.yml, disponível no library\configsubdiretório do aplicativo Rails que você criou. Este arquivo possui seções de configuração ao vivo para bancos de dados PostgreSQL. Em cada uma das seções, você precisa alterar as linhas de nome de usuário e senha para refletir as permissões nos bancos de dados que você criou.
Quando terminar, deve ser o seguinte -
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>
O que vem a seguir?
Os próximos dois capítulos explicam como modelar suas tabelas de banco de dados e como gerenciá-las usando migrações Rails.