Loading config/module.config.php +1 −20 Changes for config/module.config.php: 1 added line, 20 removed lines. Original line number Diff line number Diff line Loading @@ -6,7 +6,6 @@ use Doctrine\DBAL\Platforms\MySqlPlatform; use Doctrine\DBAL\Platforms\PostgreSqlPlatform; use UnicaenDbImport\Config\ImportConfig; use UnicaenDbImport\Config\ImportConfigFactory; use UnicaenDbImport\Controller\ConsoleController; use UnicaenDbImport\Controller\ConsoleControllerFactory; use UnicaenDbImport\Importer\MySQL\MySQLImporter; use UnicaenDbImport\Importer\MySQL\MySQLImporterFactory; Loading @@ -22,25 +21,7 @@ return [ PostgreSqlPlatform::class => PostgreSQLImporter::class, MySqlPlatform::class => MySQLImporter::class, ], 'imports' => [ // [ // 'name' => 'IMPORT_PFI_SIFAC', // 'source' => [ // 'name' => 'PFI SIFAC', // 'table' => 'TABLE', // 'connection' => 'doctrine.connection.orm_sifac', // 'source_code_column' => 'CODE', // 'columns' => ['LIBELLE', 'FLECHE', 'DEBUT_VALIDITE', 'FIN_VALIDITE'], // ], // 'destination' => [ // 'name' => 'progfin2', // 'table' => 'progfin2', // 'connection' => 'doctrine.connection.orm_default', // 'source_code_column' => 'code', // 'columns' => ['libelle', 'fleche', 'debut_validite', 'fin_validite'], // ], // ], ], 'imports' => [], ], 'console' => [ Loading config/unicaen-db-import.config.php.dist 0 → 100644 +57 −0 Changes for config/unicaen-db-import.config.php.dist: 57 added lines, 0 removed lines. Original line number Diff line number Diff line <?php namespace UnicaenDbImport; return [ 'import' => [ 'imports' => [ [ /** * Petit nom (unique) de l'import. */ 'name' => 'Import des programmes de financement SIFAC', /** * Configuration de la source de données à importer : * - 'name' : petit nom (unique) de la source * - 'table' : nom de la table source contenant les données à importer * - 'select' : select SQL de mise en forme des données source à importer (NB: antinomique avec 'table') * - 'connection' : identifiant de la connexion Doctrine à la base de données source * - 'source_code_column' : nom de la colonne dans la table/vue source contenant les identifiants uniques * - 'columns' : liste ordonnée des noms des colonnes à prendre en compte dans la table/vue source */ 'source' => [ 'name' => 'PFI SIFAC', 'table' => 'TABLE', 'connection' => 'doctrine.connection.orm_sifac', 'source_code_column' => 'CODE', 'columns' => ['LIBELLE', 'FLECHE', 'DEBUT_VALIDITE', 'FIN_VALIDITE'], ], /** * Forçage éventuel du nom de la table intermédiaire utilisée lorsque source et destination * ne partagent pas la même connexion. * NB: cette table intermédiaire est remplacée/peuplée dans la base de données destination * à chaque import. */ 'intermediate_table' => 'src_progfin', /** * Configuration de la destination des données importées : * - 'name' : petit nom (unique) de la destination * - 'table' : nom de la table destination vers laquelle les données sont importées * - 'connection' : identifiant de la connexion Doctrine à la base de données destination * - 'source_code_column' : nom de la colonne dans la table destination contenant les identifiants uniques * - 'columns' : liste ordonnée des noms des colonnes importées dans la table destination */ 'destination' => [ 'name' => 'PFI Zébu', 'table' => 'progfin', 'connection' => 'doctrine.connection.orm_default', 'source_code_column' => 'code', 'columns' => ['libelle', 'fleche', 'debut_validite', 'fin_validite'], ], ], ], ], ]; src/UnicaenDbImport/CodeGenerator/PostgreSQL/PostgreSQLCodeGenerator.php +3 −7 Changes for src/UnicaenDbImport/CodeGenerator/PostgreSQL/PostgreSQLCodeGenerator.php: 3 added lines, 7 removed lines. Original line number Diff line number Diff line Loading @@ -112,20 +112,16 @@ class PostgreSQLCodeGenerator extends AbstractCodeGenerator $template = <<<'EOT' SELECT get_import_operation( src.code, dest.{sourceCodeColumnName}, dest.deleted_on ) operation, get_import_operation(src.{sourceCodeColumnName}, dest.{sourceCodeColumnName}, dest.deleted_on) operation, get_import_req_{destinationTableName}( get_import_operation(src.code, dest.{sourceCodeColumnName}, dest.deleted_on), get_import_operation(src.{sourceCodeColumnName}, dest.{sourceCodeColumnName}, dest.deleted_on), src, dest ) req FROM {sourceTableName} src FULL OUTER JOIN {destinationTableName} dest ON src.{sourceCodeColumnName} = dest.{sourceCodeColumnName} WHERE get_import_req_{destinationTableName}( get_import_operation(src.code, dest.{sourceCodeColumnName}, dest.deleted_on), get_import_operation(src.{sourceCodeColumnName}, dest.{sourceCodeColumnName}, dest.deleted_on), src, dest ) is not null Loading src/UnicaenDbImport/Controller/ConsoleController.php +10 −4 Changes for src/UnicaenDbImport/Controller/ConsoleController.php: 10 added lines, 4 removed lines. Original line number Diff line number Diff line Loading @@ -39,6 +39,10 @@ class ConsoleController extends AbstractConsoleController $all = TRUE; } $this->getConsole()->writeLine(); $this->getConsole()->writeLine("######################## Imports ########################", ColorInterface::BLUE); $this->getConsole()->writeLine(); try { if ($all) { $this->runAllImports(); Loading @@ -61,10 +65,11 @@ class ConsoleController extends AbstractConsoleController $result = $this->importService->runByName($name); $this->getConsole()->writeLine("L'import a été réalisé avec succès.", ColorInterface::GREEN); $this->getConsole()->writeLine(date_format(new \DateTime(), 'd/m/Y H:i:s'), ColorInterface::GREEN); $this->getConsole()->writeLine(); $this->getConsole()->writeLine("######################## " . $result->getImportName() . " ########################"); $this->getConsole()->write((string)$result, ColorInterface::GRAY); $this->getConsole()->writeLine("### " . $result->getImportName(), ColorInterface::BLACK, ColorInterface::WHITE); $this->getConsole()->write((string)$result); $this->getConsole()->writeLine(); } Loading @@ -73,11 +78,12 @@ class ConsoleController extends AbstractConsoleController $results = $this->importService->runAll(); $this->getConsole()->writeLine("Les imports ont été réalisés avec succès.", ColorInterface::GREEN); $this->getConsole()->writeLine(date_format(new \DateTime(), 'd/m/Y H:i:s'), ColorInterface::GREEN); foreach ($results as $result) { $this->getConsole()->writeLine(); $this->getConsole()->writeLine("######################## " . $result->getImportName() . "########################"); $this->getConsole()->write((string)$result, ColorInterface::GRAY); $this->getConsole()->writeLine("### " . $result->getImportName(), ColorInterface::BLACK, ColorInterface::WHITE); $this->getConsole()->write((string)$result); $this->getConsole()->writeLine(); } } Loading Loading
config/module.config.php +1 −20 Changes for config/module.config.php: 1 added line, 20 removed lines. Original line number Diff line number Diff line Loading @@ -6,7 +6,6 @@ use Doctrine\DBAL\Platforms\MySqlPlatform; use Doctrine\DBAL\Platforms\PostgreSqlPlatform; use UnicaenDbImport\Config\ImportConfig; use UnicaenDbImport\Config\ImportConfigFactory; use UnicaenDbImport\Controller\ConsoleController; use UnicaenDbImport\Controller\ConsoleControllerFactory; use UnicaenDbImport\Importer\MySQL\MySQLImporter; use UnicaenDbImport\Importer\MySQL\MySQLImporterFactory; Loading @@ -22,25 +21,7 @@ return [ PostgreSqlPlatform::class => PostgreSQLImporter::class, MySqlPlatform::class => MySQLImporter::class, ], 'imports' => [ // [ // 'name' => 'IMPORT_PFI_SIFAC', // 'source' => [ // 'name' => 'PFI SIFAC', // 'table' => 'TABLE', // 'connection' => 'doctrine.connection.orm_sifac', // 'source_code_column' => 'CODE', // 'columns' => ['LIBELLE', 'FLECHE', 'DEBUT_VALIDITE', 'FIN_VALIDITE'], // ], // 'destination' => [ // 'name' => 'progfin2', // 'table' => 'progfin2', // 'connection' => 'doctrine.connection.orm_default', // 'source_code_column' => 'code', // 'columns' => ['libelle', 'fleche', 'debut_validite', 'fin_validite'], // ], // ], ], 'imports' => [], ], 'console' => [ Loading
config/unicaen-db-import.config.php.dist 0 → 100644 +57 −0 Changes for config/unicaen-db-import.config.php.dist: 57 added lines, 0 removed lines. Original line number Diff line number Diff line <?php namespace UnicaenDbImport; return [ 'import' => [ 'imports' => [ [ /** * Petit nom (unique) de l'import. */ 'name' => 'Import des programmes de financement SIFAC', /** * Configuration de la source de données à importer : * - 'name' : petit nom (unique) de la source * - 'table' : nom de la table source contenant les données à importer * - 'select' : select SQL de mise en forme des données source à importer (NB: antinomique avec 'table') * - 'connection' : identifiant de la connexion Doctrine à la base de données source * - 'source_code_column' : nom de la colonne dans la table/vue source contenant les identifiants uniques * - 'columns' : liste ordonnée des noms des colonnes à prendre en compte dans la table/vue source */ 'source' => [ 'name' => 'PFI SIFAC', 'table' => 'TABLE', 'connection' => 'doctrine.connection.orm_sifac', 'source_code_column' => 'CODE', 'columns' => ['LIBELLE', 'FLECHE', 'DEBUT_VALIDITE', 'FIN_VALIDITE'], ], /** * Forçage éventuel du nom de la table intermédiaire utilisée lorsque source et destination * ne partagent pas la même connexion. * NB: cette table intermédiaire est remplacée/peuplée dans la base de données destination * à chaque import. */ 'intermediate_table' => 'src_progfin', /** * Configuration de la destination des données importées : * - 'name' : petit nom (unique) de la destination * - 'table' : nom de la table destination vers laquelle les données sont importées * - 'connection' : identifiant de la connexion Doctrine à la base de données destination * - 'source_code_column' : nom de la colonne dans la table destination contenant les identifiants uniques * - 'columns' : liste ordonnée des noms des colonnes importées dans la table destination */ 'destination' => [ 'name' => 'PFI Zébu', 'table' => 'progfin', 'connection' => 'doctrine.connection.orm_default', 'source_code_column' => 'code', 'columns' => ['libelle', 'fleche', 'debut_validite', 'fin_validite'], ], ], ], ], ];
src/UnicaenDbImport/CodeGenerator/PostgreSQL/PostgreSQLCodeGenerator.php +3 −7 Changes for src/UnicaenDbImport/CodeGenerator/PostgreSQL/PostgreSQLCodeGenerator.php: 3 added lines, 7 removed lines. Original line number Diff line number Diff line Loading @@ -112,20 +112,16 @@ class PostgreSQLCodeGenerator extends AbstractCodeGenerator $template = <<<'EOT' SELECT get_import_operation( src.code, dest.{sourceCodeColumnName}, dest.deleted_on ) operation, get_import_operation(src.{sourceCodeColumnName}, dest.{sourceCodeColumnName}, dest.deleted_on) operation, get_import_req_{destinationTableName}( get_import_operation(src.code, dest.{sourceCodeColumnName}, dest.deleted_on), get_import_operation(src.{sourceCodeColumnName}, dest.{sourceCodeColumnName}, dest.deleted_on), src, dest ) req FROM {sourceTableName} src FULL OUTER JOIN {destinationTableName} dest ON src.{sourceCodeColumnName} = dest.{sourceCodeColumnName} WHERE get_import_req_{destinationTableName}( get_import_operation(src.code, dest.{sourceCodeColumnName}, dest.deleted_on), get_import_operation(src.{sourceCodeColumnName}, dest.{sourceCodeColumnName}, dest.deleted_on), src, dest ) is not null Loading
src/UnicaenDbImport/Controller/ConsoleController.php +10 −4 Changes for src/UnicaenDbImport/Controller/ConsoleController.php: 10 added lines, 4 removed lines. Original line number Diff line number Diff line Loading @@ -39,6 +39,10 @@ class ConsoleController extends AbstractConsoleController $all = TRUE; } $this->getConsole()->writeLine(); $this->getConsole()->writeLine("######################## Imports ########################", ColorInterface::BLUE); $this->getConsole()->writeLine(); try { if ($all) { $this->runAllImports(); Loading @@ -61,10 +65,11 @@ class ConsoleController extends AbstractConsoleController $result = $this->importService->runByName($name); $this->getConsole()->writeLine("L'import a été réalisé avec succès.", ColorInterface::GREEN); $this->getConsole()->writeLine(date_format(new \DateTime(), 'd/m/Y H:i:s'), ColorInterface::GREEN); $this->getConsole()->writeLine(); $this->getConsole()->writeLine("######################## " . $result->getImportName() . " ########################"); $this->getConsole()->write((string)$result, ColorInterface::GRAY); $this->getConsole()->writeLine("### " . $result->getImportName(), ColorInterface::BLACK, ColorInterface::WHITE); $this->getConsole()->write((string)$result); $this->getConsole()->writeLine(); } Loading @@ -73,11 +78,12 @@ class ConsoleController extends AbstractConsoleController $results = $this->importService->runAll(); $this->getConsole()->writeLine("Les imports ont été réalisés avec succès.", ColorInterface::GREEN); $this->getConsole()->writeLine(date_format(new \DateTime(), 'd/m/Y H:i:s'), ColorInterface::GREEN); foreach ($results as $result) { $this->getConsole()->writeLine(); $this->getConsole()->writeLine("######################## " . $result->getImportName() . "########################"); $this->getConsole()->write((string)$result, ColorInterface::GRAY); $this->getConsole()->writeLine("### " . $result->getImportName(), ColorInterface::BLACK, ColorInterface::WHITE); $this->getConsole()->write((string)$result); $this->getConsole()->writeLine(); } } Loading