Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
txs:framadate_a17:base_de_donnees [2020/02/06 15:02] – ↷ Page déplacée de txs:framadate:base_de_donnees à txs:framadate_a17:base_de_donnees qduchemi | txs:contrib:framadate_a17:base_de_donnees [2020/09/16 11:24] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ==== Base de données ==== | ||
+ | Dans nos tests, nous avons utilisé MySQL comme SGBD. | ||
+ | |||
+ | Les bases de données pour Framadate sont générées "en différentiel" | ||
+ | Si vous souhaitez modifier la base de données, il vous faut implémenter une classe définie comme template située dans <dossier framadate>/ | ||
+ | |||
+ | **Pour pouvoir tester pour la première fois votre serveur (ie à chaque lancement du conteneur pour docker), il vous faudra lancer ces scripts.** Pour cela, il faut ouvrir la page <domaine framadate>/ | ||
+ | Pour atteindre cette page, on vous demandera normalement un user/mdp. Celui-ci est décrit dans <dossier framadate>/ | ||
+ | |||
+ | Afin d' | ||
+ | |||
+ | ==== Comment ajouter un script pour modifier la base de données ==== | ||
+ | dans le dossier framadate/ | ||
+ | dans le fichier / | ||
+ | - ajouter une ligne "use Framadate\Migration\VOTRENOMDECLASSE;" | ||
+ | - ajouter une ligne "new ...(), new VOTRENOMDECLASSE()" | ||
+ | puis lancer la migration en ouvrant la page PHP <domaine framadate>/ | ||
+ | le fichier va lancer successivement les scripts, et stocker dans sa base de données les succès, les échecs et ceux qui n'ont pas été lancés car appartenant déjà à la liste des scripts passés en succès | ||
+ | ==== exemple de code ==== | ||
+ | < | ||
+ | |||
+ | function __construct() { | ||
+ | } | ||
+ | |||
+ | function description() { | ||
+ | return ' | ||
+ | } | ||
+ | |||
+ | function preCondition(\PDO $pdo) { | ||
+ | return true; | ||
+ | } | ||
+ | |||
+ | function execute(\PDO $pdo) { | ||
+ | $this-> | ||
+ | |||
+ | return true; | ||
+ | } | ||
+ | |||
+ | private function VOTREFONCTION(\PDO $pdo) { | ||
+ | //votre code SQL | ||
+ | $pdo-> | ||
+ | ALTER TABLE `' . Utils:: | ||
+ | ADD `NOM COLONNE` LETYPEPOURLACOLONNE;' | ||
+ | } | ||
+ | }</ |