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

Lorsque vous commencez un nouveau projet Ruby on Rails, vous remarquerez peut-être que la base de données par défaut est définie sur SQLite. Bien que SQLite soit idéal pour le développement, de nombreux développeurs préfèrent utiliser MySQL pour sa robustesse et ses fonctionnalités. Si vous souhaitez créer une nouvelle application Rails en utilisant MySQL, vous êtes au bon endroit ! Dans cet article, nous vous guiderons à travers les étapes pour configurer une application Ruby on Rails avec MySQL comme adaptateur de base de données. Allons-y !

Étape 1 : Installer MySQL

Avant de pouvoir configurer MySQL pour notre application Rails, nous devons nous assurer que MySQL est installé sur votre système. Vous pouvez l’installer via le gestionnaire de paquets de votre système d’exploitation. Par exemple, sur macOS, vous pourriez utiliser Homebrew :

brew install mysql

Assurez-vous de démarrer le service MySQL après l’installation :

brew services start mysql

Si vous êtes sur un système d’exploitation différent, référez-vous à la documentation respective pour installer MySQL.

Étape 2 : Créer une nouvelle application Rails

Maintenant que nous avons installé MySQL, créons une nouvelle application Ruby on Rails. Vous pouvez le faire en exécutant la commande suivante dans votre terminal :

rails new votre_nom_d_application -d mysql

Le flag -d mysql spécifie que MySQL doit être utilisé comme base de données pour cette application.

Étape 3 : Configurer les paramètres de la base de données

Après avoir créé votre application Rails, vous devez la configurer pour qu’elle se connecte à votre base de données MySQL. Ouvrez le fichier config/database.yml dans votre répertoire de projet. Voici où vous ajusterez les paramètres :

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

Explication des paramètres :

  • adapter : Cela spécifie quel adaptateur de base de données utiliser. Pour MySQL, cela doit être mysql2.
  • database : Nom de votre base de données. Vous pouvez choisir n’importe quel nom que vous aimez pour votre base de données développement.
  • username : Votre nom d’utilisateur MySQL. Assurez-vous qu’il a les bonnes autorisations pour la base de données.
  • password : Le mot de passe pour votre utilisateur MySQL (laissez vide s’il n’y en a pas).
  • host : Le serveur sur lequel MySQL fonctionne. “localhost” est la valeur par défaut.
  • socket : Ceci est optionnel mais pointe généralement vers l’emplacement du socket pour MySQL.

Étape 4 : Mettre à jour votre Gemfile

Pour utiliser MySQL avec Rails, vous aurez besoin de la gem mysql2. Ouvrez votre Gemfile et ajoutez ou décommentez la ligne suivante :

gem 'mysql2'

Si vous utilisez JRuby, vous utiliseriez :

gem 'activerecord-jdbcmysql-adapter'

Ensuite, exécutez la commande suivante pour installer les gems nécessaires :

bundle install

Étape 5 : Créer et migrer la base de données

Maintenant que nous avons tout mis en place, créons la base de données et exécutons les migrations nécessaires. Exécutez les commandes suivantes dans votre terminal :

rails db:create
rails db:migrate

Ces commandes créeront votre base de données, en appliquant les migrations existantes pour s’assurer que le schéma de votre base de données est à jour.

Conclusion

Et voilà ! Vous avez réussi à configurer une nouvelle application Ruby on Rails pour utiliser MySQL au lieu de SQLite. Cette configuration vous permet de tirer pleinement parti des capacités de MySQL, fournissant une base solide pour construire vos applications. Bon codage !