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
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:
O
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