Comment définir MySQL comme base de données par défaut dans Rails 3?
J'ai commencé à l'aide de Rails 2 avril dernier, mais s'est arrêté au mois de juin parce que j'ai pensé de l'apprentissage lors de Rails 3 a été libéré serait plus pratique depuis beaucoup, il a été complètement remaniée et restructuré. J'ai l'habitude de travailler avec Ubuntu 10.04 (avec SQLite3 que le défaut db) mais maintenant je suis sur Windows 7 et MySQL 5. J'ai déjà installé le joyau de l'adaptateur pour MySQL, mais pour l'utiliser j'ai encore besoin de bidouiller la base de données.yml. Merci.
source d'informationauteur arscariosus
Vous devez vous connecter pour publier un commentaire.
En termes de configuration de base de données, rien n'a vraiment changé entre les Rails 2 et 3, à l'exception de la façon dont vous chargez votre pilote MySQL. Ceci était fait dans
config/environment.rb
mais se fait désormais dans leGemfile
:La valeur par défaut
config/database.yml
fichier est mis en place avec SQLite, mais vous pouvez facilement changer cela sur MySQL. Une version générique ressemble:C'est le
adapter
déclaration en ligne qui définit ce pilote à utiliser.Dans tadman réponse, utiliser le gem 'mysql2" pour les rails depuis 3 rails 3 utilise maintenant la nouvelle mysql adaptateur !!
Vous pouvez changer de rails à défaut de MySql lorsque vous générez une nouvelle demande, mais vous devez modifier une ligne dans les rails d'installation. Vous aurez à faire le changement à chaque version, et à chaque fois que vous mettez à jour le gem rails.
J'utilise Ruby-Entreprise. Voici donc ce que je fais:
Dans le fichier (où la 1.8 est la version de ruby et 3.0.4 est les rails de la version):
Edit: Dans les rails-3.1.0-rc1 le fichier est:
De recherche pour cette ligne:
Changement "sqlite3" de "mysql".
Donc au lieu de faire:
Que je peux le faire (et de la base de données.yml et Gemfiles sont configurés pour le mysql2 gem):
Cela suppose que vous avez la bonne mysql2 gem déjà installé. Aussi, je ne l'ai fait depuis que Rails 3 est sorti. C'est probablement similaire pour les versions précédentes. Encore une fois, à chaque fois que vous mettez à jour les Rails, vous devrez trouver et de modifier ce fichier.
Depuis des Rails 3.2 vous pouvez définir un .railsrc de fichier personnalisée avec des options de ligne de commande qui va toujours s'appliquer à
rails new
Donc, si vous créez un fichier appelé
.railsrc
et la mettre dans votre répertoire d'accueil w/le contenu comme ceci-d mysql
il wll mysql par défaut de la base de données. Vous pouvez mettre toute les options de ligne de commande (y compris modèles d'application qui sont cène génial!)Exécuter
rails new --help
à partir de la ligne de commande pour voir toutes les options.