Skip to content
Snippets Groups Projects
Select Git revision
  • 2b07551e788852529b5e643ea63b8ed1e8324b18
  • master default protected
  • php84
  • ll-api-test
  • 6.x
  • release_6.2.0
  • modif_maintenance_phtml
  • 6.0.x
  • detached2
  • detached
  • php82
  • feature_SearchAndSelectFilter
  • 5.x
  • 4.x
  • 7.2.1
  • 7.2.0
  • 6.2.0
  • 7.1.0
  • 7.0.0
  • 1.1.1
  • 6.1.7
  • 6.1.6
  • 6.1.5
  • 6.0.16
  • 6.0.15
  • 6.1.4
  • 6.0.14
  • 6.1.3
  • 6.0.13
  • 6.1.2
  • 6.0.12
  • 6.1.1
  • 6.1.0
  • 6.0.11
34 results

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