Skip to content
Snippets Groups Projects
Select Git revision
  • a4d60a4b0fa0c53756a3816c27d8883be74f0722
  • master default protected
  • alc-scindage-donnees-pj
  • b24
  • ll-workflow
  • FJ_LL_Tbl_Contrat
  • alc-docker-node
  • ll-apiplatform
  • php84
  • ll-rgpd
  • b23
  • alc-filtre-type-intervenant
  • ll-sans-mdb5
  • formules-ancienne-infra
  • ll-formules
  • alc-intervenant-dmep
  • ll-suppr-v_vol-s
  • b20
  • ll-postgresql
  • b23.0.1
  • b22
  • 24.8
  • 24.7
  • 24.6
  • 24.5
  • 24.4
  • 24.3
  • 24.2
  • 24.1
  • 24.0
  • 23.15
  • 24.0-beta19
  • 24.0-beta18
  • 24.0-beta17
  • 24.0-beta16
  • 24.0-beta15
  • 24.0-beta14
  • 24.0-beta13
  • 23.14
  • 24.0-beta12
  • 24.0-beta11
41 results

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