dolibarr-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dolibarr-user] Utilisation CVS et upgrade de base


From: Yannick Warnier
Subject: Re: [Dolibarr-user] Utilisation CVS et upgrade de base
Date: Mon, 06 Nov 2006 10:45:14 +0000

Le mardi 31 octobre 2006 à 22:10 +0100, Cyril Besot a écrit :
> paul POULAIN a écrit :
> > Thomas Despoix a écrit :
> >> Ce qui m'étonne énormément c'est qu'on applique à chaque update, on 
> >> applique le script.
> >> Ca me parait louche : j'imagine mal un ALTER TABLE `table` ADD 
> >> `field` fait plusieurs fois...
> >>
> >> Any clue ?
> >
> > yes : -f ...
> > ca n'arrete pas le script même si l'alter plante, ce qui est le cas 
> > lorsqu'on le tente 2 fois. Donc il continue comme si de rien n'était ;-)
> >
> Vous avez probablement raison mais j'ai toujours fait comme ça et *pour 
> l'instant*, ça fonctionne. Je ne vois pas trop le problème si o ajoute 
> un champ : s'il existe, ça peut renvoyer une erreur mais on s'en fout. 
> Et s'il n'existe pas, il le crée. Ce n'est pas très propre, il n'y  a 
> aucun contrôle mais ça n'a pas trop de raison de ne pas fonctionner 
> (mais bon, on backup qd même ;)).
> Je suis preneur d'un meilleur script toutefois :)

Dépendant des systèmes de bases de données, on peut faire un select sur
le champ pour voir s'il existe, faire un alter table if not exists (pas
certain pour celui-là) ou d'autres vérifications, mais le principe est
toujours le même. Si ça fonctionne naturellement (si la vérification est
incluse dans le système de bases de données), ça représente du travail
supplémentaire de vérifier avant d'exécuter, et au final c'est
probablement moins efficace en terme d'instructions de vérifier avant
l'opération.
Comme les scripts d'upgrade ne s'exécutent de toute façon pas très
souvent, ça ne vaut pas vraiment la peine d'y travailler longtemps. Si
ça marche...

Mais c'est vrai que c'est plus "propre" de vérifier d'abord...

Yannick





reply via email to

[Prev in Thread] Current Thread [Next in Thread]