Si la base de données est endommagée, il est possible de la restaurer manuellement. Pour cela on utilise un shell / batch en ligne de commande, qui va nous permettre de restaurer la base à partir d'une sauvegarde :
- Arrêtez SpamWars si celui-ci est démarré
- Les fichiers concernant la base SpamWars se trouvent dans repository/db/hsql, et s'appellent sp4mwars.xxx. Pour commencer, on les déplace ailleurs...
- Puis on va utiliser le shell sqlless.sh sous linux, sqlless.bat sous windows. Cet utilitaire lance un programme Java qui permet d'accéder à la base soit en mode client/serveur (le serveur étant lancé par SpamWars), soit en mode standalone (accès direct aux fichiers). L'idée est d'exécuter les commandes SQL contenues dans le backup de la base. Pour cela, nous allons ouvrir un shell / une fenêtre cmd.exe, se déplacer dans le répertoire bin de SpamWars, et exécuter la commande :
- Sous Windows : sqlless.bat -ie -s -d hsqlnosrv -f spamwars-xxxxxxxx.sql
- Sous Linux / Unix / MacOs X : sqlless.sh -ie -s -d hsqlnosrv -f spamwars-xxxxxxxx.sql
où : spamwars-xxxxxxxx.sql est un fichier de sauvegarde, que vous avez dé-gzippé, soit avec un utilitaire genre gunzip / 7zip, soit en utilisant un utilitaire livré avec SpamWars :- Sous Windows : launchtool.bat -L -T jeebop.tools.Zip -gunzip -f spamwars-xxxxxxxx.sql.gz
- Sous Linux / Unix / MacOs X : launchtool.sh jeebop.tools.Zip -gunzip -f spamwars-xxxxxxxx.sql.gz
- voilà