Cree una nueva aplicación de Ruby on Rails usando MySQL en lugar de SQLite

Quiero crear mi aplicación Rails con MySQL, porque me gusta mucho. ¿Cómo puedo hacer eso en la última versión de Rails en lugar del SQLite predeterminado?

Si ya tiene un proyecto de Rails, cambie el adaptador en el archivo config/database.yml a mysql y asegúrese de especificar un nombre de usuario y contraseña válidos y, opcionalmente, un socket:

 development: adapter: mysql2 database: db_name_dev username: koploper password: host: localhost socket: /tmp/mysql.sock 

A continuación, asegúrese de editar su Gemfile para incluir el adaptador mysql2 o activerecord-jdbcmysql (si usa jruby).

Normalmente, crearías una nueva aplicación Rails usando

 rails ProjectName 

Para usar MySQL, usa

 rails new ProjectName -d mysql 

Para Rails 3 puede usar este comando para crear un nuevo proyecto usando mysql:

 $ rails new projectname -d mysql 

Ve a la terminal y escribe:

 rails new  -d mysql 

Si aún no ha creado su aplicación, vaya a cmd (para Windows) o terminal (para linux / unix) y escriba el siguiente comando para crear una aplicación de Rails con la base de datos mysql:

$rails new -d mysql

Funciona para cualquier cosa que se encuentre por encima de la versión 3. de Rails. Si ya ha creado su aplicación, puede hacer una de las siguientes 2 cosas:

  1. Cree una aplicación another_name con la base de datos mysql, vaya a cd another_name / config / y copie el archivo database.yml de esta nueva aplicación. Pégalo en el archivo database.yml de tu aplicación_app_name. Pero asegúrese de cambiar los nombres de la base de datos y establecer el nombre de usuario / contraseña de su base de datos en consecuencia en el archivo database.yml después de hacerlo.

O

  1. Vaya a cd your_app_name / config / y abra database.yml. Renombrar como sigue:

desarrollo:
adaptador: mysql2
base de datos: db_name_name
nombre de usuario: root
contraseña:
anfitrión: localhost
socket: /tmp/mysql.sock

Además, elimina la gem ‘sqlite3’ de tu Gemfile y agrega la gem ‘mysql2’

Si está utilizando Rails 3 o mayor versión

 rails new your_project_name -d mysql 

si tienes versión anterior

 rails new -d mysql your_project_name 

Así que antes de crear tu proyecto necesitas encontrar la versión de Rails. que puedes encontrar por

 rails -v 
 rails -d mysql ProjectName 
 rails new  -d mysql 

O

 rails new projectname 

Cambios en config / database.yml

 development: adapter: mysql2 database: db_name_name username: root password: host: localhost socket: /tmp/mysql.sock 

Crear aplicación con opción -d

 rails new AppName -d mysql 
 $ rails --help 

siempre es tu mejor amigo

uso:

 $ rails new APP_PATH[options] 

También tenga en cuenta que las opciones deben darse después del nombre de la aplicación.

Rails y mysql

 $ rails new project_name -d mysql 

Rails y postgresql

 $ rails new project_name -d postgresql 

Debe usar el modificador -D en lugar de -d porque generará dos aplicaciones y mysql sin carpetas de documentación.

  rails -D mysql project_name (less than version 3) rails new project_name -D mysql (version 3 and up) 

Alternativamente, solo usa la opción --database .

Solo ve a la consola de Rails y escribe:

 rails new YOURAPPNAME -d mysql 

Si está creando una nueva aplicación de Rails, puede configurar la base de datos utilizando el interruptor -d de esta forma:

 rails -d mysql myapp 

Sin embargo, siempre es fácil cambiar su base de datos más tarde, y usar sqlite realmente es más fácil si está desarrollando en una Mac.

En Rails 3, podrías hacer

 $rails new projectname --database=mysql 

En nuevo proyecto, fácil peasy:

 rails new your_new_project_name -d mysql 

En proyecto existente, definitivamente más complicado. Esto me ha dado una serie de problemas en los proyectos ferroviarios existentes. Este tipo de trabajos conmigo:

 # On Gemfile: gem 'mysql2', '>= 0.3.18', '< 0.5' # copied from a new project for rails 5.1 :) gem 'activerecord-mysql-adapter' # needed for mysql.. # On Dockerfile or on CLI: sudo apt-get install -y mysql-client libmysqlclient-dev 

Primero asegúrese de que mysql gem esté instalado, si no? que escriba el siguiente comando en su consola

 gem install mysql2 

Luego cree la nueva aplicación Rails y configure la base de datos mysql como base de datos predeterminada escribiendo el siguiente comando en su consola

 rails new app-name -d mysql 

Utilice el siguiente comando para crear una nueva aplicación para API con la base de datos mysql

 rails new  --api -d mysql adapter: mysql2 encoding: utf8 pool: 5 username: root password: socket: /var/run/mysqld/mysqld.sock