Changeset 81340 in spip-zone


Ignore:
Timestamp:
Mar 13, 2014, 1:59:53 PM (5 years ago)
Author:
severo@…
Message:

tickets - pour migrer, on passera le schema à 2.0.0

au lieu de 1.8.0 qui est déjà pris. On met à jour les
fichiers et variables de configuration en conséquence.

Location:
_plugins_/tickets/trunk
Files:
1 edited
1 moved

Legend:

Unmodified
Added
Removed
  • _plugins_/tickets/trunk/README.md

    r81337 r81340  
    4949On décide de faire la migration automatiquement à la mise à jour du plugin, et non pas sur un déclenchement manuel et par champ, qui était une autre possibilité, afin d'éviter d'avoir à gérer la cohabitation entre les deux situations dans le code.
    5050
    51 On met à jour la version de la base (schema) à 1.8.0, et dans autorisations, on ajoute
     51On met à jour la version de la base (schema) à 2.0.0, et dans autorisations, on ajoute
    5252
    53     $maj['1.8.0'] = array(array('maj_tickets_180'));
     53    $maj['2.0.0'] = array(array('maj_tickets_200'));
    5454
    55 Dans la fonction `maj_tickets_180()`, on répétera, pour chacun des 7 champs, les étapes suivantes.
     55Dans la fonction `maj_tickets_200()`, on répétera, pour chacun des 7 champs, les étapes suivantes.
    5656
    57571. Récupérer la liste des choix
     
    9999 * les groupes de mots-clés et les mots-clés d'un même groupe sont ordonnés, ce qui permet après migration de tout afficher dans le même ordre (81328, 81335)
    100100 
    101 * squelettes
     101* squelettes :
    102102
    103103 * afficher les logos des mots-clés dans la vue groupemots (81327, 81329)
     104
     105* configuration :
     106
     107 * suppression de la configuration "tickets/general/lier_mots" qui n'est pas d'utilité, puisque c'est dans la configuration des groupes de mots qu'on spécifie s'ils peuvent ou non être associés à des tickets (81338)
    104108
    105109### 3.1.0
  • _plugins_/tickets/trunk/inc/migration_200.php

    r81335 r81340  
    66 * Le résultat de la migration est stocké dans une meta au cas où :
    77 *
    8  * tickets/migration_180/champs/severite/id_groupe (int)
     8 * tickets/migration_200/champs/severite/id_groupe (int)
    99 *                                      /erreur_groupe (str)
    1010 *                                      /valeurs/1/id_mot (int)
     
    1515        include_spip('action/editer_groupe_mots');
    1616        include_spip('action/editer_mot');
     17       
     18        /* Au cas peu probable où la meta migration_180 existe
     19         * (normalement jamais créée), et pas la meta migration_200,
     20         * on la déplace */
     21        if ($m180 = lire_config('tickets/migration_180')) {
     22                if (!lire_config('tickets/migration_200')) {
     23                        ecrire_config('tickets/migration_200', $m180);
     24                }
     25                effacer_config('tickets/migration_180');
     26        }
     27       
    1728        $trouver_table = charger_fonction('trouver_table','base');
    1829        $desc = $trouver_table(table_objet_sql('ticket'));
     
    3344
    3445        // pour chaque champ
    35         spip_log("**** migration 1.8.0 - début ****", "tickets");
     46        spip_log("**** migration 2.0.0 - début ****", "tickets");
    3647        foreach ($a_migrer as $k=>$v) {
    3748                // est-ce que la colonne existe encore ?
     
    4758                        // si non vide, créer le groupe de mots
    4859                        // on regarde dans la meta si on a déjà migré ce champ
    49                         $meta = 'tickets/migration_180/champs/'.$k.'/id_groupe';
    50                         $meta_err = 'tickets/migration_180/champs/'.$k.'/erreur_groupe';
     60                        $meta = 'tickets/migration_200/champs/'.$k.'/id_groupe';
     61                        $meta_err = 'tickets/migration_200/champs/'.$k.'/erreur_groupe';
    5162                        if (!intval($id_groupe = lire_config($meta))) {
    5263                                $v['champs_groupe'] = array_merge($v['champs_groupe'], array('tables_liees'=>'tickets','comite'=>'non','forum'=>'non','minirezo'=>'oui'));
     
    6576                        foreach ($valeurs as $kv=>$vv) {
    6677                                // on regarde si on a déjà migré ce mot
    67                                 $meta = 'tickets/migration_180/champs/'.$k.'/valeurs/'.$kv.'/id_mot';
    68                                 $meta_err = 'tickets/migration_180/champs/'.$k.'/valeurs/'.$kv.'/erreur_mot';
     78                                $meta = 'tickets/migration_200/champs/'.$k.'/valeurs/'.$kv.'/id_mot';
     79                                $meta_err = 'tickets/migration_200/champs/'.$k.'/valeurs/'.$kv.'/erreur_mot';
    6980                                if (!intval($id_mot = lire_config($meta))) {
    7081                                        $id_mot = mot_inserer($id_groupe);
     
    99110                spip_log('   colonne "'.$k.'" supprimée','tickets');
    100111        }
    101         spip_log("**** migration 1.8.0 - fin ****", "tickets");
     112        spip_log("**** migration 2.0.0 - fin ****", "tickets");
    102113}
    103114
     
    106117        include_spip('action/editer_mot');
    107118
    108         $c = lire_config('tickets/migration_180/champs', array());
     119        $c = lire_config('tickets/migration_200/champs', array());
    109120        $supprimer_groupe_mots = charger_fonction('supprimer_groupe_mots','action');
    110121
    111         spip_log("**** nettoyage de la migration 1.8.0 - début ****", "tickets");
     122        spip_log("**** nettoyage de la migration 2.0.0 - début ****", "tickets");
    112123        foreach ($c as $k=>$v) {
    113                 $meta = 'tickets/migration_180/champs/'.$k.'/valeurs';
     124                $meta = 'tickets/migration_200/champs/'.$k.'/valeurs';
    114125                if (is_array($valeurs = lire_config($meta))) {
    115126                        foreach ($valeurs as $kv=>$vv) {
    116                                 $meta = 'tickets/migration_180/champs/'.$k.'/valeurs/'.$kv.'/id_mot';
     127                                $meta = 'tickets/migration_200/champs/'.$k.'/valeurs/'.$kv.'/id_mot';
    117128                                if (intval($id_mot = lire_config($meta))) {
    118129                                        spip_log("   valeur '".$kv."' - suppression du mot id_mot=".$id_mot,"tickets");
    119130                                        supprimer_logo_mot($id_mot);
    120131                                        mot_supprimer($id_mot);
    121                                         effacer_config('tickets/migration_180/champs/'.$kv.'/valeurs/'.$kv);
     132                                        effacer_config('tickets/migration_200/champs/'.$kv.'/valeurs/'.$kv);
    122133                                }
    123134                        }
    124135                }
    125                 $meta = 'tickets/migration_180/champs/'.$k.'/id_groupe';
     136                $meta = 'tickets/migration_200/champs/'.$k.'/id_groupe';
    126137                if (intval($id_groupe = lire_config($meta))) {
    127138                        spip_log(" champ '".$k."' - suppression de groupe id_groupe=".$id_groupe,"tickets");
    128139                        $supprimer_groupe_mots($id_groupe);
    129140                }
    130                 effacer_config('tickets/migration_180/champs/'.$k);
    131         }
    132         effacer_config('tickets/migration_180/champs');
    133         effacer_config('tickets/migration_180');
    134         spip_log("**** nettoyage de la migration 1.8.0 - fin ****", "tickets");
     141                effacer_config('tickets/migration_200/champs/'.$k);
     142        }
     143        effacer_config('tickets/migration_200/champs');
     144        effacer_config('tickets/migration_200');
     145        spip_log("**** nettoyage de la migration 2.0.0 - fin ****", "tickets");
    135146}
    136147
Note: See TracChangeset for help on using the changeset viewer.