Commit 9634818e authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Système de mise à jour automatique des privilèges

parent 8c08df2f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ ne sont plus affichées lorsqu'on clique sur l'utilisateur en haut à droite.
* Formules de calcul : nouveau système de récupération des paramètres spécifiques directement implanté dans les formules. 
Les vues V_FORMULE_LOCAL_I_PARAMS et V_FORMULE_LOCAL_VH_PARAMS ne sont plus nécessaires.
* Renforcement du script de mise à jour (pour les futures mises à jour) : détection de l'accès à la BDD OK ou non avant de démarrer la procédure et avertissement sans blocage si le cache ne peut pas se nettoyer.
* Système de mise à jour automatique : les privilèges sont maintenus à jour automatiquement

# OSE 8.1.2

+2 −0
Original line number Diff line number Diff line
<?php

$oa->majPrivileges();
 No newline at end of file
+7 −0
Original line number Diff line number Diff line
@@ -37,4 +37,11 @@ $schema->setLogger($scl);
$schema->alter($ref, $ddlConfig, true);

$c->println('Fin de mise à jour des définitions');


$c->println('Mise à jour des privilèges', $c::COLOR_LIGHT_PURPLE);
$oa->majPrivileges();
$c->println('Fin de la mise à jour des privilèges');


$c->println('');
 No newline at end of file
+3 −3
Original line number Diff line number Diff line
@@ -49,9 +49,6 @@ $c->passthru([
    "php composer.phar install",
]);

// Néttoyage des caches et mise à jour des proxies, lancement du script de migration éventuel
$oa->run('clear-cache');

// Mise à jour des liens vers les répertoires publics des dépendances
$c->println("\nMise à jour des liens vers les répertoires publics des dépendances", $c::COLOR_LIGHT_CYAN);
$res = $oa->majUnicaenSymLinks($osedir);
@@ -66,5 +63,8 @@ $oa->migration('pre');
$oa->run('update-bdd');
$oa->migration('post');

// Néttoyage des caches et mise à jour des proxies
$oa->run('clear-cache');

$c->println("\nFin de la mise à jour. N'oubliez pas de sortir du mode maintenance!");
$c->println('');
 No newline at end of file
+19 −66
Original line number Diff line number Diff line
@@ -194,6 +194,20 @@ class Bdd



    /**
     * @param string $sequenceName
     *
     * @return int
     */
    public function sequenceNextVal(string $sequenceName): int
    {
        $r = $this->select("SELECT $sequenceName.NEXTVAL seqval FROM DUAL");

        return (int)$r[0]['SEQVAL'];
    }



    /**
     * @param string $sql
     * @param array  $params
@@ -287,76 +301,15 @@ class Bdd


    /**
     * @param $table
     * @param $data
     *
     * @return bool
     */
    public function insert($table, $data, array $params = [])
    {
        $cols = array_keys($data);
        $cols = implode(',', $cols);

        $vals = '';
        foreach ($data as $col => $val) {
            if ($vals != '') $vals .= ',';

            $vals .= ":$col";
        }
        $sql = "INSERT INTO $table ($cols) VALUES ($vals)";

        return $this->exec($sql, $data);
    }



    public function copy(self $source, string $table)
    {

    }



    /**
     * @param string               $table
     * @param array|string|integer $data
     * @param string $name
     *
     * @return bool
     */
    public function delete(string $table, $data)
    {

        if (!is_array($data)) {
            $data = ['ID' => $data];
        }

        $sql   = "DELETE FROM \"$table\" WHERE ";
        $conds = "";
        foreach ($data as $col => $val) {
            if ($conds != '') {
                $conds .= ' AND ';
            }
            $conds .= "$col = :$col";
        }
        $sql .= $conds;

        return $this->exec($sql, $data);
    }



    /**
     * Vide une table
     *
     * @param string $table
     *
     * @return bool
     * @return Table
     */
    public function truncate(string $table)
    public function getTable(string $name): Table
    {
        $sql = "TRUNCATE TABLE \"$table\"";
        $table = new Table($this, $name);

        return $this->exec($sql);
        return $table;
    }


Loading