134 votes

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 ?

270voto

Daniel Broekman Points 1951

Normalement, vous devriez créer une nouvelle application Rails en utilisant

rails ProjectName

Pour utiliser MySQL, utilisez

rails new ProjectName -d mysql

144voto

Michiel de Mare Points 15888

Si vous avez déjà un projet rails, changez l'adaptateur dans le fichier config/database.yml pour mysql et assurez-vous de spécifier un nom d'utilisateur et un mot de passe valides, et optionnellement, un socket :

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

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

2 votes

Cette réponse est utile ; comme les autres réponses, il suffit d'utiliser le générateur. Cette réponse fonctionne pour ajouter MySQL à une application après qu'elle ait été créée, soit pour remplacer une base de données existante (par exemple SQLite), soit pour ajouter une base de données secondaire. De plus, mysql2 semble être la gemme de prédilection de nos jours pour Rails.

14 votes

Vous devrez également mettre à jour le Gemfile ; supprimer gem 'sqlite3' et ajouter gem 'mysql2'

62voto

Robbie Done Points 734

Pour Rails 3, vous pouvez utiliser cette commande pour créer un nouveau projet utilisant mysql :

$ rails new projectname -d mysql

26voto

Abhinav Points 91

Allez au terminal et écrivez :

rails new <project_name> -d mysql

22voto

Drake Mandin Points 21

Si vous n'avez pas encore créé votre application, il suffit d'aller dans cmd(pour Windows) ou terminal(pour linux/unix) et de taper la commande suivante pour créer une application rails avec une base de données mysql :

$rails new <your_app_name> -d mysql

Cela fonctionne pour tout ce qui est supérieur à la version 3 de rails. Si vous avez déjà créé votre application, vous pouvez faire l'une des deux choses suivantes :

  1. Créer un autre_nom avec la base de données mysql, allez au cd autre_nom /config/ et copiez le fichier database.yml de cette nouvelle application. Collez-le dans le fichier database.yml de votre_application_name app. Mais assurez-vous de changer les noms des bases de données et de définir le nom d'utilisateur/mot de passe de votre base de données en conséquence dans le fichier database.yml après avoir fait cela.

OU

  1. Aller au cd votre_application_name /config/ et ouvrez database.yml. Renommez le fichier comme suit :

développement :
adaptateur : mysql2
base de données : nom_de_la_base
nom d'utilisateur : Racine
mot de passe :
hôte : localhost
socket : /tmp/mysql.sock

De plus, supprimez la gemme 'sqlite3' de votre Gemfile et ajoutez la gemme 'mysql2'.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X