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