sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo conecto un archivo de base de datos mysql a una aplicación local de Ruby on Rails?

No puede conectar una aplicación Rails directamente a un archivo SQL. La aplicación Rails obtiene sus datos de un servidor de base de datos y usted importa el contenido del archivo SQL a una base de datos alojada por el servidor.

Puede descargar un archivo DMG que instalará MySQL Community Server en su Mac desde http:// dev.mysql.com/downloads/mysql/#downloads

Esa descarga también incluye un práctico panel de preferencias para iniciar y detener el servidor.

Una vez que tenga MySQL en funcionamiento, debe establecer una contraseña para el usuario root (es decir, el administrador del sistema de la base de datos) usando

mysqladmin -u root password "secret"

—Obviamente reemplazar secret con la contraseña real que desea utilizar.

Luego puede configurar el database.yml archivo para la aplicación Rails. Para una aplicación llamada app se vería así:

development:
  adapter: mysql
  database: app_development
  username: root
  password: secret
  host: localhost

test:
  adapter: mysql
  database: app_test
  username: root
  password: secret
  host: localhost

production:
  adapter: mysql
  database: app_production
  username: root
  password: secret
  host: localhost

Tenga en cuenta que, por lo general, en producción, crearía una cuenta de usuario de base de datos con privilegios limitados separada para que la aplicación Rails se conecte a MySQL, pero para el desarrollo en su máquina local, la cuenta raíz está bien.

Después de este paso, puede ejecutar rake db:create desde la raíz de la aplicación Rails dentro de la Terminal. Este comando creará el app_development base de datos en MySQL (rake db:create:all también crea las bases de datos de prueba y producción). Finalmente, puede importar su archivo SQL ingresando el siguiente comando en la Terminal:

mysql -u root -p app_development < path/to/file/name.sql

Se le pedirá la contraseña de root de MySQL. Reemplazar path/to/file con la ruta completa al archivo SQL si no está dentro del directorio actual de la Terminal. Por ejemplo, use ~/Desktop/name.sql si está en tu escritorio.