Skip to content
Snippets Groups Projects
Select Git revision
  • master
  • php84
  • detached4
  • detached5
  • detached3
  • detached
  • detached2
  • ll-php8-bs5
  • ll-php8
  • 4.x
  • 6.3.0
  • 6.2.5
  • 6.2.4
  • 6.2.3
  • 6.2.2
  • 6.2.1
  • 6.2.0
  • 6.1.0
  • 6.0.2
  • 6.0.1
  • 6.0.0
  • 5.0.3
  • 5.0.2
  • 5.0.1
  • 5.0
  • 4.2.1
  • 4.2
  • 4.1
  • 4.0
  • 3.0.2
30 results

Event.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");