Changeset 107842 in spip-zone


Ignore:
Timestamp:
Dec 3, 2017, 8:07:53 PM (20 months ago)
Author:
maieul@…
Message:

Etape 3 : migrer l'ancienne base de liaison depuis selection_objet

Location:
_plugins_/selection_objets/liaison_objets
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/selection_objets/liaison_objets/liaison_objet_administrations.php

    r107840 r107842  
    1717 * - mettre à jour la structure SQL
    1818 **/
    19 function selection_objet_upgrade($nom_meta_base_version, $version_cible) {
     19function liaison_objet_upgrade($nom_meta_base_version, $version_cible) {
    2020        $maj = array();
    2121
    22         $maj['create'] = array( array(
     22        $maj['create'] = array(
     23                array(
    2324                        'maj_tables',
    24                         array('spip_selection_objets')
    25                 ));
    26         $maj['0.1.0'] = array( array(
    27                         'maj_tables',
    28                         array('spip_selection_objets')
    29                 ));
    30         $maj['0.2.0'] = array( array(
    31                         'maj_tables',
    32                         array('spip_selection_objets')
    33                 ));
    34         $maj['0.2.1'] = array( array(
    35                         'maj_tables',
    36                         array('spip_selection_objets')
    37                 ));
    38         $maj['0.2.2'] = array( array(
    39                         'maj_tables',
    40                         array('spip_selection_objets')
    41                 ));
    42         $maj['0.2.3'] = array( array(
    43                         'maj_tables',
    44                         array('spip_selection_objets')
    45                 ));
    46         $maj['0.2.4'] = array( array(
    47                         'maj_tables',
    48                         array('spip_selection_objets')
    49                 ));
    50         $maj['0.3.0'] = array( array(
    51                         'maj_tables',
    52                         array('spip_selection_objets')
    53                 ));
    54         $maj['0.4.0'] = array( array(
    55                         'maj_tables',
    56                         array('spip_selection_objets')
    57                 ));
    58         $maj['0.5.0'] = array( array(
    59                         'maj_tables',
    60                         array('spip_selection_objets')
    61                 ));
    62         $maj['0.5.1'] = array(
    63                 array(
    64                         'sql_alter',
    65                         "TABLE spip_selection_objets ADD KEY (id_objet)"
     25                        array('spip_liaison_objets')
    6626                ),
    67                 array(
    68                         'sql_alter',
    69                         "TABLE spip_selection_objets ADD KEY (id_objet_dest)"
    70                 ),
    71                 array(
    72                         'sql_alter',
    73                         "TABLE spip_selection_objets ADD KEY (objet)"
    74                 ),
    75                 array(
    76                         'sql_alter',
    77                         "TABLE spip_selection_objets ADD KEY (objet_dest)"
    78                 ),
     27                array('selection2liaison')
    7928        );
    8029
     
    8938 * - supprimer les tables et les champs créés par le plugin.
    9039 **/
    91 function selection_objet_vider_tables($nom_meta_base_version) {
     40function liaison_objet_vider_tables($nom_meta_base_version) {
    9241
    93         sql_drop_table("spip_selection_objets");
     42        sql_drop_table("spip_liaison_objets");
    9443
    9544        # Nettoyer les versionnages et forums
     
    10049        effacer_meta($nom_meta_base_version);
    10150}
    102 ?>
     51
     52/**
     53        * Permet de migrer du plugin "Sélection d'objet" vers "Liaison d'objet"
     54        *
     55 **/
     56function selection2liaison() {
     57        // D'abord, tester si on avait apparavent le plugin selection d'objet, et si oui, vérifier que c'était la version la plus récente.
     58        $base_selection = lire_config("selection_objet_base_version");
     59        if (!$base_selection){
     60                return;
     61        }
     62       
     63        if ($base_selection != "0.5.1") {
     64                $message = "La migration depuis selection d'objet n'a pas fonctionné (base version != 0.5.1)";
     65                spip_log ($message, "selection_objet"._LOG_ERREUR);
     66                return $message;
     67        }
     68
     69        // Idéalement il faudrait pouvoir désactiver l'ancien plugin automatiquement, mais je ne sais pas comment faire. Je n'arrive pas à comprendre s'il est possible de se servir de l'actionnaire de svp
     70        // Du coup pour le moment il faut un plugin désactivé, et puis ensuite on supprime le meta de l'ancien
     71        effacer_config("selection_objet_base_version");
     72
     73        // On déplacer l'ancienne config
     74        $cfg = lire_config('selection_objet');
     75        ecrire_config("liaison_objet",$spip);
     76        effacer_config("selection_objet");
     77
     78        // Supprimer la table qui vient tout juste d'être créer pour ce nouveau plugin
     79        sql_drop_table('spip_liaison_objets');
     80        // Renommer la table de l'ancien plugin
     81        sql_alter("TABLE `spip_selection_objets` RENAME  `spip_liaison_objets`");
     82        //Modifier l'ancienne table
     83        sql_alter("TABLE `spip_liaison_objets` CHANGE COLUMN `id_selection_objet` `id_liaison_objet` bigint(21)");
     84}       
  • _plugins_/selection_objets/liaison_objets/paquet.xml

    r107839 r107842  
    11<paquet
    2         prefix="selection_objet"
     2        prefix="liaison_objet"
    33        categorie="edition"
    4         version="1.11.3"
     4        version="2.0.0"
    55        etat="stable"
    66        compatibilite="[3.0.5;3.2.*]"
    77        logo="prive/themes/spip/images/liaison_objet-64.png"
    88        documentation="https://contrib.spip.net/"
    9         schema="0.5.1"
     9        schema="1.0.0"
    1010>
    1111
Note: See TracChangeset for help on using the changeset viewer.