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.