Skip to content
Snippets Groups Projects
Select Git revision
  • b31cebace1846a60d033cba9dac6e37772be6f95
  • master default protected
  • 5.x
  • ll-php8-bs5
  • release_5_bs5
  • ll-php8
  • 4.x
  • laminas_migration
  • release_1.0.0.2
  • release_4.0.0
  • release_3.2.8
  • bootstrap4_migration
  • 1.0.0.3
  • 6.0.7
  • 6.0.6
  • 6.0.5
  • 6.0.4
  • 6.0.3
  • 6.0.2
  • 6.0.1
  • 5.1.1
  • 6.0.0
  • 5.1.0
  • 5.0.0
  • 4.0.2
  • 3.2.11
  • 4.0.1
  • 3.2.10
  • 4.0.0
  • 1.0.0.2
  • 3.2.9
  • 3.2.8
32 results

Module.php

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    bdd-make-update-diff.php 964 B
    <?php
    
    $bdd = $oa->getBdd();
    $bdd->setLogger($c);
    
    $fichier = $oa->getOseDir() . 'cache/bdd-update-diff.sql';
    
    $c->begin("Construction d'un script de mise à jour de la base de données");
    $c->msg("Attention : par rapport à update-bdd, seules les définitions des objets sont concernées. Les requêtes de mise à jour des données ne sont pas générées.");
    
    /* Récupération du schéma de référence */
    $ref = new BddAdmin\Ddl\Ddl;
    $ref->loadFromDir($oa->getOseDir() . 'data/ddl');
    
    
    /* Construction de la config de DDL pour filtrer */
    $filters = require $oa->getOseDir() . 'data/ddl_config.php';
    foreach ($ref as $ddlClass => $objects) {
        foreach ($objects as $object => $objectDdl) {
            $filters[$ddlClass]['includes'][] = $object;
        }
    }
    
    /* Mise à jour de la BDD */
    $diff = $bdd->diff($ref, $filters);
    $sql  = $diff->toScript();
    file_put_contents($fichier, $sql);
    
    $c->end("Script différentiel créé et enregistré dans le fichier $fichier");