Qu'est ce que c'est ?
Base est un module particulier, dans le sens ou il ne s'agit pas de fichiers installés effectivement sur le serveur, mais plutôt de tout ce qui permet de constituer ou reconstituer la base de donnée.
Contenu
Le schema de la base
* Les schémas d'origine sont contenus dans le répertoire schema. NB: Ce sont des export de décembre 2008. * Voir (mais donc pas complètement à jour) http://dev.virtual-loup-de-mer.org/vlm/browser/trunk/base/README.txt)
Les tables de gestion des courses
* Voir http://wiki.virtual-loup-de-mer.org/index.php/Proposer_des_courses pour une approche pratique
La gestion des boat/user
VLM a été conçu à l'origine pour une association un joueur = un compte = un bateau. La table users est donc la liste des bateaux connus, en course ou pas.
C'est une limitation du modèle d'origine qui voudrait évoluer vers une gestion de plusieurs bateaux pour un même compte.
le fichier UPDATE
Quand on travaille sur le serveur de test, on peut avoir besoin de modifier le schema/le contenu de la base de données. La difficulté vient plus tard, quand il s'agit de mettre en production cette modification (de mettre à jour le vrai serveur mysql de vlm).
Le fichier UPDATE contient l'historique des modifications faites manuellement à la base mysql de test. Ces modifications sont à prendre en compte au moment du déploiement en production d'une nouvelle version. Le remplir est important...
Pour les modifications les plus courantes, le fichier UPDATE ne contient maintenant que l'instruction pour utiliser le répertoire scripts (voir plus bas)
le répertoire scripts
Il contient les scripts de base :
- dump.sh : pour faire un dump de la base de donnée
- importdump.sh : pour importer le dump
- init.sh : pour créer la base
Il contient aussi les méthodes automatiques pour le changement de version :
- runupgrade.sh : est le script qui prend en paramètre la version (exemple : v0.11
- upgrade-v0.11.php et upgrade-v0.11.sql (par exemple) sont les 2 scripts qui seront appelés par runupgrade.sh v0.11
Pour préparer/documenter un changement du modèle de base de donnée :
- les fichiers upgrade-vXXX.sql contiennent les instructions sql d'altération de la base (exécuté en premier)
- les fichiers upgrad-vXXX.php contiennent les instructions complémentaires en php éventuellement nécessaire pour migrer les données dans un nouveau modèle.
- par exemple, il était nécessaire d'utiliser php quand il a fallut insérer en base toutes les images de cartes jusqu'ici fichiers statiques.
