Commit 58224b3f authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Correction doc développeur

parent 58b04271
Loading
Loading
Loading
Loading
+7 −10
Original line number Diff line number Diff line
@@ -538,7 +538,7 @@ Imaginons que l'on veuille ajouter la possibilité d'importer/synchroniser vers
destination MySQL.

- Ajouter dans le fichier `config/module.config.php` la config permettant d'associer la bonne classe de "code generator"
  à chaque classe de plateforme de base de données MySQL connue de Doctrine :
  (à créer) à chaque classe de plateforme de base de données MySQL connue de Doctrine :

```php
return [
@@ -549,9 +549,6 @@ return [
            \Doctrine\DBAL\Platforms\MySQL80Platform::class => \UnicaenDbImport\CodeGenerator\MySQL\CodeGenerator::class,
        ],
        //...
    ],
    //...
];
```

- Créer un répertoire `src/UnicaenDbImport/CodeGenerator/MySQL` dans lequel on va créer les fichiers/classes 
@@ -571,7 +568,7 @@ return [

- La classe `CodeGenerator` doit *obligatoirement* :
  - hériter de la classe abstraite `\UnicaenDbImport\CodeGenerator\CodeGenerator` ;
  - instancier dans le constructeur ses propres versions MySQL des "helper" de génération de code (`MySQLTableHelper`, etc.)
  - instancier dans le constructeur ses propres versions MySQL des "helpers" de génération de code (`MySQLTableHelper`, etc.)

Exemple :

@@ -665,9 +662,9 @@ class CodeGeneratorFactory

- La classe de "helper" de génération de code `Helper\DiffViewHelper` doit :
  - *obligatoirement* hériter de la classe abstraite `\UnicaenDbImport\CodeGenerator\Helper\DiffViewHelper` ;
  - *obligatoirement* définir les méthodes nom implémentée par la classe mère ;
  - *si besoin* redéfinir les méthodes de la classe mère qui ne génèrerait pas du code SQL valide pour la
    plateforme de base de données concernée.
  - *obligatoirement* définir les méthodes non implémentées par la classe mère ;
  - *si besoin* redéfinir les méthodes de la classe mère qui ne génèreraient pas du code SQL valide pour la
    plateforme de base de données (ici, MySQL).

Exemple :

@@ -701,8 +698,8 @@ class DiffViewHelper extends \UnicaenDbImport\CodeGenerator\Helper\DiffViewHelpe
- Mêmes principes pour les autres classes `Helper\SynchroLogHelper`, `Helper\TableHelper`, `Helper\TableValidationHelper`.


- Du fait que les classes `CodeGenerator` et `*Helper` hérite déjà chacune d'une classe, un trait `MySQLCommonsTrait` 
  peut être utile pour partager des des éléments de génération de SQL utilisables dans toutes ces classes.
- Du fait que les classes `CodeGenerator` et `*Helper` héritent déjà chacune d'une classe, un trait `MySQLCommonsTrait` 
  peut être utile pour partager des éléments identiques nécessaires dans toutes ces classes.
  
Exemple pour la plateforme PostgreSQL :