Ruby on Rails: configuración de la base de datos
Antes de comenzar con este capítulo, asegúrese de que su servidor de base de datos esté funcionando. Ruby on Rails recomienda crear tres bases de datos: una base de datos para cada entorno de desarrollo, prueba y producción. Según la convención, sus nombres deberían ser:
- library_development
- library_production
- library_test
Debe inicializar los tres y crear un usuario y una contraseña para ellos con privilegios completos de lectura y escritura. Estamos usando elroot ID de usuario de nuestra aplicación.
Configuración de base de datos para MySQL
En MySQL, estamos usando el rootID de usuario de nuestra aplicación. La sesión de la consola MySQL en la que haces esto se parece a:
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)
Puede hacer lo mismo con dos bases de datos más library_production y library_test.
Configurando database.yml
En este punto, debe informar a Rails sobre el nombre de usuario y la contraseña de las bases de datos. Haces esto en el archivodatabase.yml, disponible en el library\configsubdirectorio de la aplicación Rails que creó. Este archivo tiene secciones de configuración en vivo para bases de datos MySQL. En cada una de las secciones que usa, debe cambiar las líneas de nombre de usuario y contraseña para reflejar los permisos en las bases de datos que ha creado.
Cuando termines, debería verse algo así 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
Configuración de base de datos para PostgreSQL
De forma predeterminada, PostgreSQL no proporciona ningún usuario. Tenemos que crear nuevos usuarios. Utilice el siguiente comando para crear un usuario con el nombrerubyuser.
tp> sudo -u postgres createuser rubyuser -s
Si desea crear una contraseña para el nuevo usuario, utilice el siguiente comando.
tp> sudo -u postgres psql
postgres=# \password rubyuser
Utilice el siguiente comando para crear una base de datos library_development.
postgres=# CREATE DATABASE library_development OWNER rubyuser;
CREATE DATABASE
Utilice el siguiente comando para crear una base de datos library_production.
postgres=# CREATE DATABASE library_production OWNER rubyuser;
CREATE DATABASE
Utilice el siguiente comando para crear una base de datos library_test.
postgres=# CREATE DATABASE library_test OWNER rubyuser;
CREATE DATABASE
prensa Ctrl+D para terminar PosgreSQL.
Configurando database.yml
En este punto, debe informar a Rails el nombre de usuario y la contraseña de las bases de datos. Haces esto en el archivodatabase.yml, disponible en el library\configsubdirectorio de la aplicación Rails que creó. Este archivo tiene secciones de configuración en vivo para bases de datos PostgreSQL. En cada una de las secciones, debe cambiar las líneas de nombre de usuario y contraseña para reflejar los permisos en las bases de datos que ha creado.
Cuando termine, debería verse como sigue:
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>
¿Lo que sigue?
Los siguientes dos capítulos explican cómo modelar las tablas de su base de datos y cómo administrar aquellas que usan Rails Migrations.