Commit 1c39b17e authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

DefaultColumnNameFilter : transformation des noms de colonnes/attributs en...

DefaultColumnNameFilter : transformation des noms de colonnes/attributs en minuscule plutôt qu'en majuscule.
parent d46081ef
Loading
Loading
Loading
Loading
+1 −0
Changes for CHANGELOG.md: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ Changelog
- Migration des lignes de commandes d'import/synchro au format Symfony (lancer `vendor/bin/laminas` pour avoir la liste des commandes).
- Configuration : navigation déplacée dans config/unicaen-db-import.global.php.dist pour ne pas imposer le menu du module.
- Nouveau filtre de valeur de colonne CallableColumnValueFilter.
- DefaultColumnNameFilter : transformation des noms de colonnes/attributs en minuscule plutôt qu'en majuscule.
- [FIX] Synchro : la suppression systématique de la table intermédiaire temporaire n'était plus optionnelle depuis longtemps.
- [FIX] Logs : ils étaient recherchés dans la connection orm_default alors qu'ils se trouvent dans la connection destination de l'import/synchro.
- [FIX] Ajouts de strtolower/strtoupper() faisant défaut.
+7 −13
Changes for src/UnicaenDbImport/Filter/ColumnName/DefaultColumnNameFilter.php: 7 added lines, 13 removed lines.
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
namespace UnicaenDbImport\Filter\ColumnName;

use Laminas\Filter\FilterChain;
use Laminas\Filter\StringToUpper;
use Laminas\Filter\StringToLower;
use Laminas\Filter\Word\CamelCaseToUnderscore;

/**
@@ -11,25 +11,19 @@ use Laminas\Filter\Word\CamelCaseToUnderscore;
 * en le nom de colonne destination.
 *
 * Exemples :
 * - 'dateDebValidite'     => 'DATE_DEB_VALIDITE'
 * - 'date_debut_validite' => 'DATE_DEB_VALIDITE'
 * - 'DATE_DEB_VALIDITE'   => 'DATE_DEB_VALIDITE'
 * - 'dateDebutValidite'     => 'date_debut_validite'
 * - 'date_debut_validite' => 'date_debut_validite'
 * - 'DATE_DEBUT_VALIDITE'   => 'date_debut_validite'
 *
 * @author Unicaen
 */
class DefaultColumnNameFilter implements ColumnNameFilterInterface
{
    /**
     * @inheritDoc
     */
    public function __toString(): string
    {
        return "attributExemple => ATTRIBUT_EXEMPLE";
        return "attributExemple => attribut_exemple";
    }

    /**
     * @inheritDoc
     */
    public function filter(string $name): string
    {
        $chain = new FilterChain();
@@ -37,8 +31,8 @@ class DefaultColumnNameFilter implements ColumnNameFilterInterface
        // dateDebValidite => date_Deb_Validite
        $chain->attach(new CamelCaseToUnderscore());

        // date_Deb_Validite => DATE_DEB_VALIDITE
        $chain->attach(new StringToUpper());
        // date_Deb_Validite => date_debut_validite
        $chain->attach(new StringToLower());

        return $chain->filter($name);
    }