Accéder au contenu.
Menu Sympa

fr - Re: [sympa-fr] Update from 6.1.9 to sympa 6.1.11

Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa

Archives de la liste

Chronologique Discussions  
  • From: Alexis Michon <adresse@cachée>
  • To: adresse@cachée
  • Subject: Re: [sympa-fr] Update from 6.1.9 to sympa 6.1.11
  • Date: Tue, 15 May 2012 17:34:45 +0200

Bonjour David,

Le 14/05/12 10:39, David Verdin a écrit :
adresse@cachée"> Pourrais-tu m'expliquer un ou deux détails ?
  • La succession des deux requêtes (création du type ENUM, puis création de la table avec le nouveau type) ne marchera donc qu'avec PostgreSQL 8.3 ?
8.3 et supérieur oui.
adresse@cachée">
  • La version 8.3 est-elle la plus répandue ? Si elle est très utilisée, nous pourrons préciser dans les notes de version qu'elle est désormais la version minimale pour Sympa.
Centos 5.7 -> Postgresql 8.1 de base, avec la possibilité d'installer Postgresql 8.4
Centos 6.x -> Postgresql 8.4

Concernant les autres distributions, je ne peux pas répondre
adresse@cachée">
  • Sans ce type enum, y a-t-il un moyen, avec PostgreSQL de contrôler les valeurs acceptées par un champs ? Si c'est le cas et que c'est un mécanisme plus générique (accepté par toutes les versions) on aurait sans doute intérêt à utiliser celui-là
J'avais pensé à la directive CHECK, mais elle ne semble pas s'appliquer à une liste de chaine.
adresse@cachée"> Notre problème principal vis à vis des bases de données, jusqu'ici, était de maintenir cinq versions des scripts de création de la base.
Par ailleurs, étant donné que ce sont des scripts de création et non de mise à jours, un changement de type de champ ou de clé est particulièrement pénible pour les utilisateurs.
Or, notre expertise se limite à MySQL. Pour toutes les autres SGBD, nous nous appuyons sur les contributions de la communauté. Il n'y a donc de mise à jour automatique que pour MySQL (et pour SQLite grâce à un contributeur particulièrement actif).

Pour résoudre ce problème, nous avons, dans la version 6.2, factorisé le code de mise à jour de la base en s'appuyant sur des modules spécifiques à chaque SGBD, nommés "DBManipulator<nom du SGBD>.pm. En gros, ces modules contiennent tous des fonctions, ayant le même nom d'un module à l'autre (add_table(), add_field(), set_primary_key(), etc.) que l'on appelle à partir de Sympa. Ce sont ces modules qui contiennent les requêtes spécifiques à chaque SGBD.
De cette manière, on découple la partie spécifique à Sympa (quel champ créer, quelle clé positionner) de la connaissance d'un SGBD spécifique. De cette manière, nous comptons trouver plus facilement de l'aide pour le support des opérations plus exotiques de bases de données (en gros tout ce qui concerne le DDL).

À titre d'exemple, je joins le module de PostgreSQL. Toute ce que les contributeurs ont à faire, c'est donner les requêtes qui permettent de faire l'opération prévue par chaque méthode. On espère que cela permette à court terme une mise à jour automatique pour chaque SGBD supporté, et l'ajout facile de nouveaux SGBD si nécessaire.
On va déjà devoir modifier les fonctions de création et de mise à jour de champ pour PG et le type enum.
adresse@cachée">
Intéressant ! Suivant mon temps disponible lors de la release, je pourrai participer aux tests de la phase beta.

Bonne soirée
Alexis

-- 
Alexis MICHON                  
CNRS BMSSI, 7 passage du vercors, 69007 LYON, France
Mail : adresse@cachée  Tel : 04.72.72.26.03
Equipe BioInformatique : Structure et Interactions (BISI) 
-> http://www.ibcp.fr/bmssi/-Bioinformatique-structures-et-
CNRS BMSSI - UMR 5086 - http://www.ibcp.fr/bmssi/
Empreinte : C9:45:2D:7C:79:7F:0B:79:CA:C8:0B:68:41:A2:8C:EE:EA:72:82:34

Attachment: smime.p7s
Description: Signature cryptographique S/MIME




Archives gérées par MHonArc 2.6.19+.

Haut de le page