L'important c'est que tu sois satisfait.
Mais vu que tu t'es cogné comme je le supposais tous les inserts un par un avec la 1.4.1.
Tu aurais pu rester en 1.5.0 et faire la même manip (le + était d'ajouter la date de validation à chaque insert).
Mais c'est très bien. Félicitations !!! 8;-)
CA Y EST !!!!!!
J'ai enfin reussi...
Finalement, avec toutes les infos que tu m'as filé j'ai enfin reussi à reintegrer les commentaires dans la base de donnees. C'etait amusant comme tout de rechercher à quelle image id chaque commentaire correspondait !!! Cela vaut le coup d'etre fait au moins une fois, et cela permet mieux de comprendre comment tout est imbrique. Merci pour tous les conseils.
Pour le dump, je n'ai pas reussi à utiliser le fichier dans son integralite, erreur de syntaxe dès la première ligne (create table...).
J'ai donc tout reinstalle en 1.4.1, synchronise, puis fais autant de requete SQL qu'il fallait pour determiner à quel image correspondait tel ou tel commentaire, puis autant de requete SQL qu'il fallait pour reintegrer ces commentaires dans la base.
Puis upgrade en 1.5 !!!
Merci à tous
Etant donné qu'il n'y a de "DROP TABLE".
Je supprimerai toutes les tables phpwebgallery_...
Puis je donnerai à exécuter le fichier .SQL complet...
et enfin Synchro...
Après tu vérifies que tout est bon et tu migres en 1.5.1.
Désolé, je ne pensais pas qu'il y avait des differences en fonction de l'hebergeur... (version Php differente ?)
En effet, j'ai suivi ce que z0rglub et toi m'avez conseille, d'apres z0rglub cela paraissait si simple...
pour les apostrophes, j'avais en effet un ' à la place de l'apostrophe, mais j'ai qd meme suivi tes consignes... faut il que je remplace à nouveau le \' par ' dans mon fichier sql ???
au debut de mon appel à l'aide, je disais en effet que j'avais installe la version 1.4.1 de phpwebgallery dans la racine de mon site perso, et je voulais deplacer la nouvelle version 1.5 dans un sous-repertoire (Galerie), afin de pouvoir ulterieurement mettre une page d'accueil + personnalisee.
Je peux en effet importer un fichier texte, mais cela va t'il mettre à jour chacune des tables en une fois, ou faut il importer un bout de fichier pour chacune des tables ? Hier soir, j'ai essaye de faire cela mais il m'a mis une erreur, du coup, je pensais que je n'utilisais pas la bonne procédure...
voici les premieres lignes de mon fichier :
-- phpMyAdmin SQL Dump -- version 2.6.3-pl1 -- http://www.phpmyadmin.net -- -- Serveur: xxxx.sql.free.fr -- Généré le : Mardi 29 Novembre 2005 à 18:50 -- Version du serveur: 4.1.13 -- Version de PHP: 4.4.0 -- -- Base de données: `xxxx` -- -- -------------------------------------------------------- -- -- Structure de la table `phpwebgallery_categories` -- CREATE TABLE `phpwebgallery_categories` ( `id` smallint(5) unsigned NOT NULL auto_increment, `date_last` date default NULL, `nb_images` mediumint(8) unsigned NOT NULL default '0', `name` varchar(255) collate latin1_general_ci NOT NULL default '', `id_uppercat` smallint(5) unsigned default NULL, `comment` text collate latin1_general_ci, `dir` varchar(255) collate latin1_general_ci default NULL, `rank` tinyint(3) unsigned default NULL, `status` enum('public','private') collate latin1_general_ci NOT NULL default 'public', `site_id` tinyint(4) unsigned default '1', `visible` enum('true','false') collate latin1_general_ci NOT NULL default 'true', `uploadable` enum('true','false') collate latin1_general_ci NOT NULL default 'false', `representative_picture_id` mediumint(8) unsigned default NULL, `uppercats` varchar(255) collate latin1_general_ci NOT NULL default '', `commentable` enum('true','false') collate latin1_general_ci NOT NULL default 'true', `global_rank` varchar(255) collate latin1_general_ci default NULL, PRIMARY KEY (`id`), KEY `categories_i2` (`id_uppercat`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=10 ; -- -- Contenu de la table `phpwebgallery_categories` -- INSERT INTO `phpwebgallery_categories` VALUES (1, '2005-11-10', 2, 'Loane', NULL, NULL, 'Loane', 1, 'private', 1, 'true', 'true', 1, '1', 'true', '1');
.........
ced a écrit:
Help !!!
apres avoir reinstalle la v1.4.1 dans /monNouveaurepertoire et retransfere les dossiers & images de ma v1.4.1 dans /monNouveaurepertoire/galleries, faut il que je procede à une synchronisation ?
je coince au point 6 dont VDigital me parle precedemment. J'utilise l'interface mysql de Free, après m'être loggué, ou peut on rentrer la commande suivante que j'ai trouvé sur le net afin de restaurer un dump : mysql -u USER -p MOTDEPASSE BASEDEDONNEES < backup.sql
et ou dans ce cas faut il que je place mon fichier .sql pour effectuer cette operation ?
amicalement
Ced
Tu as donc poursuivi la technique évoquée avec z0rglub...
Ok; merci de m'en avertir. Je suis devin.
Synchro? Non pas encore et à priori inutile.
Tu es chez free???
Je suis devin?
En principe tu n'avais pas d'apostrophe, alors?
Chez Free c'est & # 0 3 9 ; sans les espaces...
Alors tu importes par le menu SQL et tu indiques l'emplacement du fichier texte.
A exécuter directement sur le serveur : mysql -u USER -p MOTDEPASSE BASEDEDONNEES < backup.sql
Pas chez free, je ne crois pas.
[Avant de la lancer], ta restauration... Tu ne veux pas me montrer les premières lignes du fichier...
Tu masque le nom de la base (indiqué en commentaire)
Je voudrai savoir si cela faire DROP+CREATE sinon ça va planter.
Car je n'ai pas vu dans les inserts..."INSERT DELAYED IGNORE ".
Tu ne risques pas grand chose à essayer (au pire tu recommences RAZ, install,...).
Juste une remarque comme ça:
dans /monNouveaurepertoire?
Tu as changé le nom du répertoire?
Je suis devin? Tu as de la change en principe ça marche, mais c'était dit où?
8;-)
Help !!!
apres avoir reinstalle la v1.4.1 dans /monNouveaurepertoire et retransfere les dossiers & images de ma v1.4.1 dans /monNouveaurepertoire/galleries, faut il que je procede à une synchronisation ?
je coince au point 6 dont VDigital me parle precedemment. J'utilise l'interface mysql de Free, après m'être loggué, ou peut on rentrer la commande suivante que j'ai trouvé sur le net afin de restaurer un dump : mysql -u USER -p MOTDEPASSE BASEDEDONNEES < backup.sql
et ou dans ce cas faut il que je place mon fichier .sql pour effectuer cette operation ?
amicalement
Ced
Excuse-moi, j'ai loupé ton post d'hier... Et tu as bien fait de m'adresser un email.
Je continue d'expliquer sur le forum afin que tout le monde en profite et sache comment faire le jour où... 8-(
VDigital, je me cite, a écrit:
VALUES (1, 11, '2005-11-10 16:32:09', 'cedalex2',
le 1: c'est la colonne `id` (numéro d'ordre du commentaire saisi)
le 11: c'est `image_id` (numéro de l'image dans la table `phpwebgallery_images` d'ailleurs il nous faudra le 11ème insert de la table #_images)
et grace à
INSERT INTO `phpwebgallery_images` VALUES (11, 'web_J2_2joursDeja.JPG', '2005-11-10', NULL, 'jpg', NULL, NULL, NULL, 54, 188, 450, 600, NULL, 1, NULL, '2005-11-10', 5.00, './galleries/Loane/web_J2_2joursDeja.JPG');
Je sais que Loane/web_J2_2joursDeja.JPG va retrouver son commentaire.
Rappel de l'ordre en question:
INSERT INTO `phpwebgallery_comments` VALUES (1, [b]11[/b], '2005-11-10 16:32:09', 'cedalex2', 'Elle est vraiment TRES BELLE NOTRE FILLE !!! Ce n[b]\[/b]'est pas parce que c'est nous qui l'avons faite, mais elle est vraiment très très belllllllleeeeeeee.', 'true');
On a déjà corrigé l'apostrophe.
Reste à corriger ce 11 qui ne doit plus être 11.
Dans phpMyAdmin sélectionne la table phpwebgallery_images actuelle (celle de la 1.5)...
Fait un coup de "Afficher" + "Modifier" (l'ordre SQL)
comme ceci:
SELECT * FROM `vdpg2_images` WHERE `file` = 'web_J2_2joursDeja.JPG' LIMIT 0 , 30
Et là ! En première colonne tu vas avoir le nouvel `id` de ta photo... imaginons la valeur 75 et il ne te reste plus qu'à changer ton 11 par 75
INSERT INTO `phpwebgallery_comments` VALUES (1, [b]75[/b], '2005-11-10 16:32:09', 'cedalex2', 'Elle est vraiment TRES BELLE NOTRE FILLE !!! Ce n[b]\[/b]'est pas parce que c'est nous qui l'avons faite, mais elle est vraiment très très belllllllleeeeeeee.', 'true');
Et tu auras ton premier commentaire prêt pour revenir sur ta galerie.
Je ne sais pas combien de commentaires tu as mais tu as du boulot...
Bon courage.
et voilà :
INSERT INTO `phpwebgallery_images` VALUES (11, 'web_J2_2joursDeja.JPG', '2005-11-10', NULL, 'jpg', NULL, NULL, NULL, 54, 188, 450, 600, NULL, 1, NULL, '2005-11-10', 5.00, './galleries/Loane/web_J2_2joursDeja.JPG');
Les idées de z0rglub...
N°1 : "Une fois que vous avez généré les relations "id de ma photo dans l'ancienne base" correspond à "path", il faut découvrir les id des photos dans la nouvelle base."
J'y allais, je l'ai déjà fait pour moi une fois.
N°2 : "Mais en fait, on se casse la tête ! Si ced a le dump de sa 1.4.1, qu'il réinstalle sa 1.4.1 et qu'il refasse une migration pardi !"
Oh! Oui... T'as raison. Sauf qu'on va retomber sur les apostrophes générées par phpMyAdmin et sans l'antislash.
ced a écrit:
je vois en effet que c'est un peu galère avec l'export de phpMyAdmin, si chaque caractere est code, cela risque d'etre laborieux.
On n'a le problème qu'avec l'apostrophe simple. ce n'est pas trop méchant.
ced a écrit:
D'apres vos dernieres suggestions, il faudrait tout simplement que je desinstalle tout, reinstalle la version 1.4.1 dans mon nouveau repertoire.
1 - Dump tes tables de la 1.5. (la totale).
2 - Supprimes les tables de la 1.5
3 - Copies tout le répertoire actuel de la 1.5.
4 - Supprimes tout le répertoire actuel de la 1.5
5 - Install la 1.4.1
6 - Restaures tes tables du dump de la 1.4 (dans phpMyAdmin, il y a une option pour lui faire prendre un fichier en entrée, mais
avant penses mettre les \ aux bons endroits).
7 - Tu migres en 1.5
ced a écrit:
Enfin, je migre mon fichier dump, vous faites comment au fait ? Apres je ne vous embete plus... ou alors, je me recogne les commentaires, finalement cela ira peut etre + vite...
Comment tu migres le dump? dans phpMyAdmin, il y a une option pour lui faire prendre un fichier en entrée.
Apres je ne vous embete plus... Non pas du tout, pour moi on continue.
Allez -//:---\spam moi le 11ème insert de la table #_images
Bonsoir à tous,
je vois en effet que c'est un peu galère avec l'export de phpMyAdmin, si chaque caractere est code, cela risque d'etre laborieux.
D'apres vos dernieres suggestions, il faudrait tout simplement que je desinstalle tout, reinstalle la version 1.4.1 dans mon nouveau repertoire.
Enfin, je migre mon fichier dump, vous faites comment au fait ? Apres je ne vous embete plus... ou alors, je me recogne les commentaires, finalement cela ira peut etre + vite...
bonne nuit à tous
cedric
Mais en fait, on se casse la tête ! Si ced a le dump de sa 1.4.1, qu'il réinstalle sa 1.4.1 et qu'il refasse une migration pardi !
Je vais laisser VDigital continuer à s'occuper du problème, mais je vais donner un petit conseil qui pourrait vous aider.
- images.storage_category_id pointe vers categories.id
- categories.site_id pointe vers sites.id
- categories.id_uppercat pointe vers categories.id
- comments.image_id pointe vers images.id
L'information à reconstituer pour rendre unique chaque image, c'est le images.path (qui apparaît en 1.5). images.path est la concaténation de
sites.url + categories.dir (niveau 1) + categories.dir (niveau 2)... + images.file.
Une fois que vous avez généré les relations "id de ma photo dans l'ancienne base" correspond à "path", il faut découvrir les id des photos dans la nouvelle base.
Une fois ces id obtenus, il faut modifier les requêtes d'insert de la table comments.
Voilà pour la théorie, je vous souhaite bien du courage pour la pratique :-/
volcom a écrit:
au temps pour moi j'avais pas saisi.
Ce n'est pas grave.
Je suis en mode "opération chirurgicale" et le malade devrait s'en sortir, si le chirurgien fait exactement ce que je lui dit.
A la moindre erreur, plouf. Je ne dépanne plus.
au temps pour moi j'avais pas saisi.
ced a écrit:
--
-- Contenu de la table `phpwebgallery_comments`
--
INSERT INTO `phpwebgallery_comments` VALUES (1, 11, '2005-11-10 16:32:09', 'cedalex2', 'Elle est vraiment TRES BELLE NOTRE FILLE !!! Ce n'est pas parce que c'est nous qui l'avons faite, mais elle est vraiment très très belllllllleeeeeeee.', 'true');
INSERT INTO `phpwebgallery_comments` VALUES (2, 11, '2005-11-10 19:43:49', 'loane', 'ta tata et tes cousins te regardent ', 'true');
INSERT INTO `phpwebgallery_comments` VALUES (3, 23, '2005-11-11 11:11:33', 'loane', 'le futur papa semble q.q.peu inquiet\r\nla "bientôt" maman attend paisiblement ?', 'true');
Voila ce que je voulais, et ce que je vais t'expliquer s'appliquera à tous ces ordres.
VALUES (1, 11, '2005-11-10 16:32:09', 'cedalex2',
le 1: c'est la colonne `id` (numéro d'ordre du commentaire saisi)
le 11: c'est `image_id` (numéro de l'image dans la table `phpwebgallery_images` d'ailleurs il nous faudra le 11ème insert de la table #_images)
le '2005-11-10 16:32:09': c'est `date` (Date et heure de la saisie)
le 'cedalex2': c'est `author` (Le nom de l'utilisateur qui a saisi)
et puis...
'Elle est vraiment TRES BELLE NOTRE FILLE !!! Ce n'est pas parce que c'est nous qui l'avons faite, mais elle est vraiment très très belllllllleeeeeeee.', 'true');
le 'Elle est vraiment TRES BELLE NOTRE FILLE !!! Ce n'est ...' : c'est `content` (le texte du commentaire)
le 'true': c'est `validated` (C'est validé, sauf quand c'est false, dans ce cas c'est "à valider").
Bien, on va prendre notre temps... Je te préviens.
En effet, il y a un petit problème (que j'ai rencontré déjà) avec des commentaires contenant par exemple : "Ce n'est "
L'apostrophe va faire planter, il va falloir changer les "j'ai faim" en "j\'ai faim"... (bug de l'export de phpMyAdmin).
Pas seulement ça:
...très très belllllllleeeeeeee.', 'true');
il faut rajouter la nouvelle colonne:
...très très belllllllleeeeeeee.', 'true', '2005-12-07 20:32:09');
c'est la colonne `validation_date`
Allez -//:---\spam moi le 11ème insert de la table #_images
@ plus... Je passe à table.