Je suis vraiment nouveau en Ruby on Rails. J'ai lu ce tutoriel et cela semble vraiment facile.
Mais comment puis-je me connecter à ma base de données (MySQL) ou à quoi sert Rails? En php, j'utiliserais ...
mysql_connect("...","...","...");
mysql_select_db("...");
J'ai cherché sur Google et je ne trouve aucun conseil utile.
Vous n'avez pas à faire ces choses manuellement, vérifiez ceci: http://guides.rubyonrails.org/configuring.html#configuring-a-database
Jetez un œil au fichier de configuration config/database.yml
Vous devez y installer votre configuration. Voici un exemple pour l'environnement de production:
production:
adapter: mysql2
encoding: utf8
database: example
pool: 10
username: example
password: secure
socket: /var/run/mysqld/mysqld.sock
reconnect: true
En plus de cela, vous devez ajouter gem 'mysql2'
dans votre Gemfile et exécutez bundle install
.
Contenu de mon config/database.yml
fichier:
# Ensure the MySQL gem is defined in your Gemfile
# gem 'mysql2'
#
# Install MySql gem if not already there.
# Below command installs some pre-requisites for the installation:
# Sudo apt-get install libmysqlclient-dev mysql-client
# After above, this to finish gem installation:
# gem install mysql2
#
# And be sure to use new-style password hashing:
# http://dev.mysql.com/doc/refman/5.0/en/old-client.html
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: YOUR_DATABASE_HERE
pool: 5
username: root
password: root
Comme le disent les commentaires ci-dessus les configurations, vous devrez peut-être d'abord installer la gemme mysql2 via le terminal. Une fois l'installation terminée, effectuez une bundle install
et rake db:migrate
et peut également accéder à la base de données via phpmyadmin.
Je venais de tomber sur cette question il y a une heure, plus de 2 ans plus tard depuis que la question avait été posée. Bien que je comprenne que cela est très tard et que OP a certainement dû résoudre ce problème, pour le bien d'autres utilisateurs débutants comme moi qui pourraient venir ici pour une solution, j'ai pensé écrire ma solution ici. J'espère que cela aide.