Loading README.md +7 −10 Original line number Diff line number Diff line Loading @@ -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 [ Loading @@ -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 Loading @@ -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 : Loading Loading @@ -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 : Loading Loading @@ -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 : Loading Loading
README.md +7 −10 Original line number Diff line number Diff line Loading @@ -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 [ Loading @@ -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 Loading @@ -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 : Loading Loading @@ -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 : Loading Loading @@ -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 : Loading