Initialisation de la base de données
Nous avons jusqu’à présent installé toutes les briques logicielles nécessaires pour faire fonctionner l'application. Attachons nous dans ce chapitre à initialiser a minima la base de données afin que l'on puisse se connecter à Sentinelle.
Il existe dans le dossier /home/sentinelle/alizes
un script se nommant initDBSentinelle.sh
Il suffit de lancer ce script afin d'initialiser notre base de données.
AttentionOui, mais c'est mieux de comprendre ! ! !
Avant de lancer ce script, je vous conseille vivement de lire en détails les éléments que je vais présenter ci-dessous. Ceci vous permettra de comprendre les éléments essentiels du fonctionnement de Sentinelle.
Vérification de l'accès à la base de données
Nous allons tout d'abord vérifier que l'accès à la base de données est correctement configuré. Puis, nous initialiserons cette base avec les tables qui décrivent le modèle de données de Sentinelle
ProcédureBase de données
cd ~/alizes
Positionnons nous dans le dossier de l'application Sentinelle
source ~/.rvm/scripts/rvm
Permet de charger les rvm
export RAILS_ENV=production
Cette commande va dire à rails d'utiliser les paramètres de connexion à la base de PRODUCTION.
rake db:drop
On supprime ici la base de données qui a été créée lors de l'installation
rake db:create
Cette commande va effectuer une connexion à la base de données et créer la base pour Sentinelle.
rake, est un moteur de production (build program) similaire a make, mais écrit en ruby.
Truc & astuceEn cas d'échec de la commande
Si la commande échoue, cela signifie que vous avez un problème de connexion à votre base de données.
Généralement le message commence par
rake aborted!
, la ligne suivante donne la raison de l'erreur, voici quelques exemples de problèmes courantsThe program 'rake' is currently not installed
.-> Problème d'environnement ( l'ouverture d'une nouvelle console ssh, devrait permettre de charger l'environnement rails)
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
-> Mysql est arrêté
Access denied for user 'rails'@'localhost' (using password: YES)
-> Problème de mot de passe (le mot de passe/identifiant dans config/database.yml est incorrect)
database configuration does not specify adapter
-> Problème d’environnement (oubli de passer en mode PRODUCTION [export RAILS_ENV=production] )
rake db:migrate
Cette commande va créer toute la structure de la base.
Truc & astuceRéinitialisation de la base de données
Si vous souhaitez repartir d'une base vierge, il vous suffira de rentrer les commandes suivantes :
export RAILS_ENV=production
rake db:drop
rake db:create
rake db:migrate