Jump to content

[Tuto] How to... update the SVN - comment mettre à jour une SVN


Recommended Posts

[Edit par Damien]
Pour rappel, vous ne suivez ce tuto qu'à vos risques et périls.
Car tuto ou pas, non seulement le SVN n'est pas forcément stable, mais en plus les MAJ de bases de données sont toujours risquée.
En gros, ne le faites que si vous savez ce que vous faites, et débrouillez-vous si ça marche pas (je veux pas en entendre parler :P)
[/Edit]

Edit : je relis et modifie les infos ci-dessous. comme ça, Damien il verra plus le topic en rouge :-)

US version below
Ce tuto est à manier avec précautions.
j'utilise la svn en production.
la question est : comment mettre à jour le site sans tout casser, tout en étant à jour, avec les données ET la structure ?
Vous allez voir, j'ai une solution qui est finalement assez simple. (néophites s'abstenir !)

N'hésitez-pas à faire ces manipulations sur des bases test. Vous pourrez ainsi vérifier que tout est en ordre.
Voici comment j'ai procédé.

Mettre le site en sommeil (BO / préférences / activer boutique xNON) de façon à ne pas avoir une commande qui entre en même temps !

1. Dupliquer votre dossier boutique D1 (nous l'appellerons D2) ainsi que votre base de données (C2).
2. Posez les mises à jour du SVN (modules, php etc) dans D2

reste à mettre à jour la structure de la base de données. (D2) avec la SVN

3. Lancer une nouvelle installation (boutique complète avec une nouvelle base de données - appelée D3)
pas besoin d'y sopier les données. on s'en fout - c'est juste pour récupérer la structure.
4. Une fois la "nouvelle boutique" installée et fonctionnelle, activez tous les modules (cela va créer certaines nouvelles tables dans la base de données D3)

Maintenant nous allons utiliser un outil très sympa : Navicat MySQL - existe pour mac, pc et linux :-) et ne coûte que quelques dizaines d'euros... il est même possible de tester l'appli quelques jours, sans bourse délier. Bien entendu, cette appli vous servira à bien d'autres choses, mais vous le découvrirez par vous-même.
- paramétrer le soft de façon à pouvoir ouvrir les bases (c'est simple à faire - même moi j'y suis arrivé !)
- ensuite, il ne suffit plus qu'à laisser faire navicat : connecter les bases.

5. dans "TOOLS" sélectionner "STRUCTURE SYNCRONIZATION"
synchronisez la STRUCTURE (pas les données) de la D2 avec D3.
le soft vous propose une prévisualisation des modifications à apporter pour être synchrone.
appliquez les modifs. pouvez même vérifier après màj que tout est en ordre. top je vous dis.

voilà. votre base est à jour. tester. déguster. n'oubliez pas de changer vos param config.
rouvrir la boutique avec les nouveaux fichiers et la base à jour.

vous avez toujours la boutique et la base originales au cas où...
Voilà !

rePS : je n'assure pas le support de navicat - essayez avant de me questionner - je n'en connait pas encore assez sur ce soft.

5716_Ej9ijLfcgNDIJu2wlzuy_t

5717_wPviACwsOLgv07xst9LS_t

5718_7sWMQFt75wUtAJ9CGwf9_t

Link to comment
Share on other sites

US version :
Take care when you manipulate database.
I am using the SVN in prod.
question is : how to update a svn withouth breaking everything ? Having structure and datas updated ?
I found out an easy solution. and wanted to share it with you.

here is how I proceed :

Put your shop offline (BO/prefs/desactivate shop)
1. Duplicate the shop D1 folder (we call it D2) and the database (we call it B2)
2. SVN : copy the modules and other latest stuff etc... with latest SVN version in D2.

And now, here is how I proceed for the sensitiv part : the SQL base.

3. Instal a brand new shop with the latest SVN version. (called B3)
4. once this is done, activate all modules inside this shop (that with activate all possible tables)

now we will use a very nice tool : Navicat MySQL - mac, pc's and linux versions available - it costs only a few $ and you can fully test the application before buying it. you will see that this great tool can be used for many other processes...

5. in "TOOLS" select "STRUCTURE SYNCRONIZATION"
syncronize B3 STRUCTURE ONLY with B2 (refer to screen copies in the previous french post)
Soft will propose you a preview, accept by running the queries (no risk, you're working on a copy)

if everything is ok, you should now have a clean database with the updated structure. with all elements inside.

you then have to rename your forlder to the original name.
do not forget to reactivate the shop. and to change the config prefs.

you still have your database 1, in case of...

And... voilà !

PS :
I use navicat for small updates (adding tables etc... automaticaly, but last SVN version was really "heavy" - so I decided to try a full update - and finally, it works perfectly.)

I do not know a lot about navicat - If I can help I will do it. but please, try by yourself before asking.
and... sorry for my english - hope you will understand these sentences.

Link to comment
Share on other sites

si j'ai oublié quelque chose (il est tard... pas sur que tout y est) je reviendrais le poser ici.

if I forgot something important (it's late here, and I am tired, not sure that everything is mentionned) I will post it here.

Link to comment
Share on other sites

  • 2 weeks later...

3. Lancer une nouvelle installation (boutique complète avec une nouvelle base de données - appelée 3)
4. Une fois la "nouvelle boutique" installée et fonctionnelle, activez tous les modules (cela va créer certaines nouvelles tables dans la base de données 2)

Bonjour
Je viens de découvrir ce tuto je n'ai pas encore testé
Mais je me pose une question pour le texte c-dessus ce n'est pas base de donnée 3 ???

Si je comprends bien un moment on a 3 boutiques l'original mise en travaux , la dupliquée et une nouvelle install , on synchronise la 2 et 3 et apres on copie la 2 dans l'original ?
Merci
Link to comment
Share on other sites

Salut Fabrice
RECLAMATION SAV : j'ai tout cassé et je voudrais me faire remboursé ;-)
Nan c'est une blaaaaaaague.
Juste une précision toutefois : peux tu indiquer dans ton tuto le parcours que tu fais faire aux fichiers eux même (notamment images, modules, …)
et après Zou je me lance, demain ma nouvelle boutique est en ligne, non mais !!!
Merci encore l'ami

Link to comment
Share on other sites

  • 3 weeks later...
  • 1 month later...
Dites vous zavé pas un problème de utf8 à la synchro des données dans Navicat ? moi il me bousille mes jolis accents


'lo JB ! moi ça ne pose aucun problème.
un paramètre que t'aurais changé ?
perso j'utilise les param par défaut dans navicat.
Link to comment
Share on other sites

  • 1 month later...

Ne serait-il pas plutôt opportun de mettre en place un système de mise à jour automatique de PRESTASHOP qui pourrait être déclenchée directement à partir du panneau d'administration ?

Je pense que PRESTASHOP est véritablement un programme formidable et je crois qu'il mériterait d'être doté de cette formidable avancée de permettre aux administrateurs de site presta de passer d'une version à une autre.

Pour ma part, j'aimerai passerai passer de la version stable Version 1.1.0.5 vers la version 1.2 lorsqu'elle sera annoncée stable.

Mais j'ai l'impression que ce ne sera pas très simple d'y passer...

Sauf, si la TEAM met à disposition un système de mise à jour automatique... d'ici là !

Ce serait super génial !

Link to comment
Share on other sites

  • 2 weeks later...
  • 3 weeks later...
  • 1 month later...
  • 1 month later...
  • 4 weeks later...
  • 4 weeks later...

Je me suis mis un peu à SVN pour voir comment ça marche, et les nouveautés. Intéressant !

Par contre j'ai un problème.
J'utilise WinMerge pour comparer les fichiers de différentes version.

Le problème est qu'il trouve toujours des fichiers différents, même si les fichiers sont identiques.

Utilisez-vous WinMerge et avez-vous réglé ce problème (genre configuration à modifier) ?
Utilisez-vous un autre soft pour comparer les versions de fichiers ?

Merci d'avance pour votre aide

Link to comment
Share on other sites

  • 1 month later...
  • 3 weeks later...

Je crois que cette méthode est légèrement incorrecte puisque certains scripts d'update modifient le contenu de la base, pas seulement la structure. Mais dans l'ensemble c'est bon. Un autre outil qui permet de faire la synchronisation des schémas de BDD est MySQL Workbench, qui a l'avantage d'être gratuit.

Est-ce que quelqu'un (un dev par exemple :-)) sait si on peut utiliser le "install-dev" du svn pour faire la mise à jour ?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...