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.

rails2

 

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 :

  1. 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)
  2. 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 http://<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 http://<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.