dolibarr-dev
[Top][All Lists]
Advanced

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

Re: [Dolibarr-dev] Support Postgres


From: Eldy
Subject: Re: [Dolibarr-dev] Support Postgres
Date: Wed, 02 Mar 2005 21:02:18 +0100
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)

Francois Tigeot wrote:

On Tue, Mar 01, 2005 at 09:41:06PM +0100, Eldy wrote:
Francois Tigeot wrote:

Mais surtout, ce qui me gêne le plus en regardant les différences par
rapport aux fichiers .sql précédents dans le CVS, c'est que plein de
choses qui avaient manifestements été pensées par un humain ont été remplacées
par des types de données plus ou moins équivalents qui risquent de poser
des problèmes subtils.

Si le type SERIAL n'a pas été généré dans le fichier pgsql, c'est parceque le fichier source ne contenait pas le type "autoincrement" (l'équivalent mysql). Le fichier source mysql ne comprenant pas de séquence associée, le fichier pgsql n'a aucune raison d'en avoir une. Ici, c'est donc le script qui avait été fait en manuel qui était dans l'erreur.

C'est vrai que si le sql de départ n'était pas fonctionnel, ce que je
disais plus haut n'a pas grand sens.

A retester donc avec les corrections que j'ai apporté sur le type tinyint et datetime.

Il y a déjà beaucoup moins d'erreurs.

Ce qui reste ressemble essentiellement à ça:

        psql -U pgsql -h wapiti dolibarr < llx_facture_tva_sum.sql
        ERROR:  syntax error at or near "(" at character 150

Contenu du fichier en question:

        create table llx_facture_tva_sum
        (
          "fk_facture"    integer NOT NULL,
          "amount"        real  NOT NULL,
          "tva_tx"        real  NOT NULL,
          KEY(fk_facture)
        );

Je pense que le KEY n'aurait pas dû être mis dans la définition de la
table.

En effet, la définition doit etre dans le fichier .key.
Ce problème est corrigé maintenant.

Sinon, il y a le problème du type "double" qui devrait être remplacé par
"money".

(au passage, je suis surpris que le type "double" soit utilisé pour gérer
des valeurs monétaires. Ca peut facilement entraîner des erreurs de
précision. Un "decimal(10,2)" aurait été moins choquant...)
Ce type est en effet plus recommandé (disons decimal(10,5)). Pour l'instant, ce point n'est pas trop génant, lorsque les pb d'arrondis se manifesteront (ce sera le cas quand Dolibarr sera multidevises, on y est pas encore), on pourra toujours corriger. Les 2 types n'étant pas incompatbiles. En attendant, on va laisser comme ça. Pour ce qui est de l'utilisation du type money, il est trop propre à pgsql. Cela provoquerait d'autres problèmes de comptabilité de code à terme. Je pense qu'on peut s'en sortir avec ce type (et à terme le decimal).

Je suis preneur du prochain message d'erreur...


L'idéal serait que je teste moi même pour avoir un script ok du premier coup mais faut que je prenne le temps d'installer postgres, et je suis fainiard...

Hehe. Moi c'est parce que j'avais la flemme d'installer un MySQL que je
te fais bosser :-)


--
Laurent Destailleur.
---------------------------------------------------------------
EMail: address@hidden
AWStats : http://awstats.sourceforge.net
AWBot : http://awbot.sourceforge.net
CVSChangeLogBuilder : http://cvschangelogb.sourceforge.net






reply via email to

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