Postgres ou (PostgeSQl) est un système de gestion de base de données Opensource. Rails est un framework écrit en ruby.
Habituellement, Rails est utilisé avec MySQL, mais il très facile de le configurer pour utiliser Postgres.
Dans un premier article nous avons vu comment installer Ruby on Rails avec RVM sur Ubuntu 14.04.
Nous verrons ici comment créer une application Rails utilisant une base Postgres.
Installer Postgres
Pour installer Postgres, rien de plus simple :
apt-get update apt-get install postgresql postgresql-server-dev-*
Ensuite il est nécessaire d’installer pg, une interface Ruby pour Postgres. Pour ce faire nous utilisons le gestionnaire gem :
gem install pg
Configurer Postgres
On commence par créer un utilisateur Postgres qui sera utilisé par l’application Rails.
Pour ce faire on se « logue » avec l’utilisateur postgres :
su - postgres
On se connecte au serveur Postgres :
psql -U postgres
Et on crée un utilisateur (ou « role » selon la terminologie Postgres) nommé monappli :
create role monappli createdb login password 'monpasswd'
Décortiquons cette commande :
- On crée un utilisateur ayant pour login et pour base de données monappli (notez que la base de données monappli a été créé en même temps que l’utilisateur)
- Cet utilisateur aura pour mot de passe monpasswd
Créer l’application Rails
On se déconnecte du serveur Postgres et on revient avec l’utilisateur d’origine (ctrl+d deux fois).
Nous créons l’application Rails monappli :
cd /home rails new monappli --database=postgresql
Cette commande va créer le répertoire /myapp dans votre répertoire courant (ici /home), contenant l’application myapp. Rails utilise le nom de l’application pour retrouver la base de données créée plus haut.
Il est nécessaire ensuite de créer une base de test et de développement. Cela se fait via la commande suivante :
rake db:setup
Lancer rails
rails server
Connectez vous à l’adresse https://<mon_ip>:3000/posts. Vous devriez voir une page par défaut.
Cependant pour interagir avec la base de données, il faut créer un « scaffold » :
rails g scaffold Post title:string body:text rake db:migrate
Retournez sur la page https://<mon_ip>:3000/posts, vous pouvez désormais créer ou éditer un « post ». Jetez à œil au « Rails getting started guide » pour plus d’informations.
Votre application Rails utilise désormais une base Postgres.
INFO : Pour les personnes qui rencontrent des difficultés, LWS propose des infogérances à petit prix. Nos forfaits commencent à partir de 15 euros.