slt
petit retour d’expérience pour une migration du module profile_user.
le contexte :
en local j'ai ajouté des champs au module profil :
- TVA
- SOCIETE
etc....
lors de la migration sur le serveur de production , je ne souhaitais pas avoir a reconfigurer l’ensembles de ces champs.
pour retrouver son module profile comme sur le serveur de dev:
étape 1 :
EXPORTER la table profil_field , mais seulement vos champs ajoutés. puis l'importer dans votre nouvelle table , cela se traduit par :
INSERT INTO `x021_profile_field` VALUES(25, 1, 'textbox', 1, 'client_prenom', 'prénom', '', 1, 30, 2, '', 0, 1, 1, 1, 'a:0:{}', 1);
INSERT INTO `x021_profile_field` VALUES(26, 1, 'textbox', 1, 'client_societe', 'société', 'le nom de votre société', 1, 255, 2, '', 0, 1, 1, 1, 'a:0:{}', 1);
INSERT INTO `x021_profile_field` VALUES(27, 1, 'textarea', 2, 'client_adresse', 'adresse', 'l''adresse de votre société', 1, 255, 3, '', 0, 1, 1, 1, 'a:0:{}', 1);
INSERT INTO `x021_profile_field` VALUES(28, 1, 'textbox', 3, 'client_cp', 'code postal', 'votre code postal', 1, 5, 4, '', 0, 1, 1, 1, 'a:0:{}', 1);
INSERT INTO `x021_profile_field` VALUES(29, 1, 'textbox', 1, 'client_ville', 'ville', 'votre ville siége de la société', 1, 100, 5, '', 0, 1, 1, 1, 'a:0:{}', 1);
INSERT INTO `x021_profile_field` VALUES(30, 1, 'textbox', 1, 'client_tva', 'tva', 'votre numéro de TVA', 1, 255, 6, '', 0, 1, 1, 1, 'a:0:{}', 1);
Attention avant d'importer vous devez si besoin renommer le préfixe de la table
étape 2
exporter la table profil_profil, mais sans les inserts juste la structure.
CREATE TABLE `x021_profile_profile` (
`profile_id` int(12) unsigned NOT NULL DEFAULT '0',
`client_prenom` varchar(30) NOT NULL DEFAULT '',
`client_societe` varchar(255) NOT NULL DEFAULT '',
`client_adresse` text,
`client_cp` int(5) NOT NULL,
`client_ville` varchar(100) NOT NULL DEFAULT '',
`client_tva` varchar(255) NOT NULL DEFAULT '',
`client_telephone` varchar(255) NOT NULL DEFAULT '',
`client_fonction` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY (`profile_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
explications :
cette table est écrites avec les valeurs des champs que vous avez ajoutés dans la table "profil_field".
il ne vous reste plus qu'a configurer vos étapes de validation et les permissions dans le module profile.
et vous le retrouverez comme sur le serveur de dev.
Pourquoi vous ne devez pas importer les valeurs avec la structure de la table profi_profil:
car le profil_id correspond a l'uid des user de la table user , donc aucune de ces valeur ne correspondra a un user réel.
conclusion:
il serait vachement bien que xoops intègre un module de migration vers le serveur de production.
c'est un peu de boulot car il faut vérifier les versions , pour corriger les préfixe des tables , etc ....
l’idéal serait aussi que chaque module emporte avec lui une fonction de migration
en ce moment je suis au taquer , mais si je dégage un peu de temps vers le mois de février , je reviendrais voir si certains sont intéressé par cette idée.
je viens de penser a un truc soudainement , peut être qu'il existe déjà , je n'ai pas cherché
A+