Comment utiliser PostgreSQL avec votre application Ruby on Rails sur Ubuntu 14.04

introduction

Ruby on Rails utilise sqlite3 comme base de données par défaut, ce qui fonctionne très bien dans de nombreux cas, mais peut ne pas être suffisant pour votre application. Si votre application nécessite l’évolutivité, la centralisation et le contrôle (ou toute autre fonctionnalité) fournis par une base de données SQL client / serveur, telle que https://www.digitalocean.com/community/tutorials/sqlite-vs-mysql- vs-postgresql-une-comparaison-de-systèmes de gestion de base de données relationnelle [PostgreSQL ou MySQL], vous devrez effectuer quelques étapes supplémentaires pour le rendre opérationnel.

Ce tutoriel vous montrera comment configurer un environnement de développement Ruby on Rails qui permettra à vos applications d’utiliser une base de données PostgreSQL, sur un serveur Ubuntu 14.04. Dans un premier temps, nous verrons comment installer et configurer PostgreSQL. Ensuite, nous vous montrerons comment créer une application rails qui utilise PostgreSQL en tant que serveur de base de données.

Conditions préalables

Ce tutoriel nécessite un environnement de développement Ruby on Rails fonctionnel. Si vous ne l’avez pas déjà, vous pouvez suivre le tutoriel dans ce lien: https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-with-rbenv-on-ubuntu -14-04 [Comment installer Ruby on Rails avec rbenv sur Ubuntu 14.04].

Vous devrez également avoir accès à un compte superutilisateur ou + sudo + afin de pouvoir installer le logiciel de base de données PostgreSQL.

Une fois que vous êtes prêt, installons PostgreSQL.

Installer PostgreSQL

Si PostgreSQL n’est pas déjà installé, faisons-le maintenant.

Tout d’abord, mettez à jour apt-get:

sudo apt-get update

Ensuite, installez PostgreSQL et ses bibliothèques de développement:

sudo apt-get install postgresql postgresql-contrib libpq-dev

PostgreSQL est maintenant installé, mais vous devez créer un nouvel utilisateur de base de données, que votre application Rails utilisera.

Créer un utilisateur de base de données

Créez un utilisateur superutilisateur PostgreSQL avec cette commande (remplacez le mot en surbrillance par votre propre nom d’utilisateur):

sudo -u postgres createuser -s

Si vous souhaitez définir un mot de passe pour l’utilisateur de la base de données, entrez la console PostgreSQL avec cette commande:

sudo -u postgres psql

La console PostgreSQL est indiquée par l’invite + postgres = # +. À l’invite de PostgreSQL, entrez cette commande pour définir le mot de passe de l’utilisateur de la base de données créé:

\password

Entrez le mot de passe souhaité à l’invite et confirmez-le.

Maintenant, vous pouvez quitter la console PostgreSQL en entrant cette commande:

\q

Créons maintenant une application Rails.

Créer une nouvelle application Rails

Créez une nouvelle application Rails dans votre répertoire personnel. Utilisez l’option + -d postgresql + pour définir PostgreSQL comme base de données et veillez à remplacer le mot en surbrillance par le nom de votre application:

cd ~
rails new  -d postgresql

Puis déplacez-vous dans le répertoire de l’application:

cd

L’étape suivante consiste à configurer la connexion à la base de données de l’application.

Configurer la connexion à la base de données

L’utilisateur PostgreSQL que vous avez créé sera utilisé pour créer les bases de données de test et de développement de votre application. Nous devons configurer les paramètres de base de données appropriés pour votre application.

Ouvrez le fichier de configuration de la base de données de votre application dans votre éditeur de texte préféré. Nous allons utiliser vi:

vi config/database.yml

Dans la section + default +, trouvez la ligne qui dit «pool: 5» et ajoutez les lignes suivantes en dessous. Cela devrait ressembler à quelque chose comme ça (remplacez les parties surlignées par votre utilisateur et votre mot de passe PostgreSQL):

extrait de config / database.yml

 host: localhost
 username:
 password:

Sauvegarder et quitter.

Créer des bases de données d’application

Créez vos bases de données d’applications + développement et` + test` en utilisant cette commande rake:

rake db:create

Cela créera deux bases de données sur votre serveur PostgreSQL. Par exemple, si le nom de votre application est "nomapplication", des bases de données appelées "appname_development" et "appname_test" seront créées.

Si vous rencontrez une erreur à ce stade, revenez à la sous-section précédente (Configurer la connexion à la base de données) pour vous assurer que les attributs + host +, + username + et + password + dans + database.yml + sont corrects. Après vous être assuré que les informations de la base de données sont correctes, essayez de créer à nouveau les bases de données d’application.

Test de configuration

Le moyen le plus simple de vérifier que votre application est capable d’utiliser la base de données PostgreSQL est d’essayer de l’exécuter.

Par exemple, pour exécuter l’environnement de développement (par défaut), utilisez cette commande:

rails server

Cela démarrera votre application Rails sur votre hôte local sur le port 3000.

Si votre application Rails se trouve sur un serveur distant et que vous souhaitez y accéder via un navigateur Web, un moyen simple consiste à la lier à l’adresse IP publique de votre serveur. Commencez par rechercher l’adresse IP publique de votre serveur, puis utilisez-la avec la commande + rails server + comme ceci (remplacez-la par la partie en surbrillance):

rails server --binding=

Vous devriez maintenant pouvoir accéder à votre application Rails dans un navigateur Web via l’adresse IP publique du serveur sur le port 3000:

Visiter dans un navigateur web:

http://:3000

Si vous voyez la page «Bienvenue à bord» de Ruby on Rails, votre application est correctement configurée et connectée à la base de données PostgreSQL.

Conclusion

Vous êtes maintenant prêt à commencer le développement de votre application Ruby on Rails, avec PostgreSQL comme base de données, sur Ubuntu 14.04!

Bonne chance!