Créer une nouvelle application Ruby on Rails en utilisant MySQL au lieu de SQLite

Je veux créer mon application Rails avec MySQL, parce que je l'aime tellement. Comment puis-je faire cela dans la dernière version de Rails au lieu du SQLite par défaut?

0

16 Réponses

Si vous avez déjà un projet rails, remplacez l'adaptateur dans le fichier config / database.yml par MySQL et assurez-vous de spécifier un nom d'utilisateur et un mot de passe valides, et éventuellement un prise:

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

Ensuite, assurez-vous de modifier votre Gemfile pour inclure l'adaptateur mysql2 ou activerecord-jdbcmysql (si vous utilisez jruby).

0
ajouté
Ceci est utile comme les autres réponses utilisent juste le générateur. Cette réponse fonctionne pour ajouter MySQL à une application après sa création, soit pour remplacer une base de données existante (par exemple SQLite), soit pour ajouter une base de données secondaire. En outre, mysql2 semble être le joyau de ces jours-ci pour Rails.
ajouté l'auteur rcd, source
vous devrez également mettre à jour le Gemfile; supprimer gem 'sqlite3' et ajouter gem 'mysql2'
ajouté l'auteur RGB, source

Normalement, vous créez une nouvelle application Rails en utilisant

rails ProjectName

Pour utiliser MySQL, utilisez

rails new ProjectName -d mysql
0
ajouté

Si vous créez une nouvelle application rails, vous pouvez définir la base de données en utilisant le commutateur -d comme ceci:

rails -d MySQL myapp

Il est toujours facile de changer votre base de données plus tard, et l'utilisation de sqlite est vraiment plus facile si vous développez sur un Mac.

0
ajouté

Si vous utilisez des rails 3 ou version supérieure

rails new your_project_name -d mysql

si vous avez une version antérieure

rails new -d MySQL your_project_name

Donc, avant de créer votre projet, vous devez trouver la version rails. que vous pouvez trouver par

rails -v
0
ajouté
rails -d MySQL ProjectName
0
ajouté

Ror rails 3 utilisation

$rails new projectname -d mysql
0
ajouté

Dans Rails 3, vous pourriez faire

$rails new projectname --database=mysql
0
ajouté
$ rails --help 

est toujours ton meilleur ami

usage:

$ rails new APP_PATH[options]

Notez également que les options doivent être indiquées après le nom de l'application

rails et mysql

$ rails new project_name -d mysql

rails et postgresql

$ rails new project_name -d postgresql
0
ajouté

Vous devriez utiliser le commutateur -D au lieu de -d parce qu'il va générer deux applications et MySQL sans dossiers de documentation.

  rails -D MySQL project_name  (less than version 3)

  rails new project_name -D MySQL (version 3 and up)

Vous pouvez également utiliser l'option - database .

0
ajouté
rails new  -d mysql

OU

rails new projectname

Changements dans config / database.yml

development:
  adapter: mysql2
  database: db_name_name
  username: root
  passwOUd:
  host: localhost
  socket: /tmp/mysql.sock
0
ajouté

Allez au terminal et écrivez:

rails new  -d mysql
0
ajouté

Créer une application avec l'option -d

rails new AppName -d mysql
0
ajouté
Travaillé parfaitement pour moi!
ajouté l'auteur Luke, source

Si vous n'avez pas encOUe créé votre application, allez dans cmd (pour windows) ou terminal (pour linux / unix) et tapez la commande suivante pour créer une application rails avec MySQL database:

$rails new -d mysql

Cela fonctionne pour n'impOUte quoi au-dessus de rails version 3. Si vous avez déjà créé votre application, alOUs vous pouvez faire l'une des 2 choses suivantes:

  1. Créez une application autre_nom avec la base de données mysql, accédez à cd autre_nom / config / et copiez le fichier database.yml à partir de cette nouvelle application. Collez-le dans le fichier database.yml de l'application your_app_name . Mais assurez-vous de changer les noms des bases de données et définissez le nom d'utilisateur / mot de passe de votre base de données en conséquence dans le fichier database.yml après cela.

OU

  1. Allez dans cd votre_app_name / config / et ouvrez database.yml. Renommez comme suit:

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

MOUeover, remove gem 'sqlite3' from your Gemfile and add the gem 'mysql2'

0
ajouté

Il suffit d'aller à la console rails et tapez:

rails new YOURAPPNAME -d mysql
0
ajouté

Assurez-vous d'abord que MySQL gem est installé, sinon? que tapez la commande suivante dans votre console

gem install mysql2

Que de créer une nouvelle application rails et définir la base de données MySQL comme base de données par défaut en tapant la commande suivante dans votre console

rails new app-name -d mysql
0
ajouté
vous voulez ajouter la gemme à Gemfile à la place.
ajouté l'auteur Riccardo, source

Sur un nouveau projet, facile peasy:

rails new your_new_project_name -d mysql

Sur un projet existant, certainement plus délicat. Cela m'a donné un certain nombre de problèmes sur les projets ferroviaires existants. Ce genre de travail avec moi:

# 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 
0
ajouté