tintinux wrote: 07 Jun 2026, 11:08
Voici le script SQL généré par Gestinux de l'export d'une base vide pour PostgreSQL 9.
Le script comporte des erreurs, mais rien d'insurmontable.
/*ERREUR Pas de guillemet pour Function Language ou Tables (Dropt, create, Insert ) */
/*ERREUR mauvaise position guillemet date_format(m.MoveDate, \'%Y%m%d\') À TRANSFORMER EN \'%Y%m%d'\ */
/*ERREUR mauvaise position guillemet date_format(j.CloseDate, \'%Y%m%d %H:%i:%s\') A TRANSFORMER EN \'%Y%m%d %H:%i:%s'\ */
Pour les function Language ou Tables (Drop, Create, Insert ), il faut adapter les procédures spécifiques à PostgreSQL pour suivre la nouvelle syntaxe, ça n'est pas trop compliqué. Il y a peut-être des cas où il faudra créer de nouvelles procédures. Tant qu'on y est, ce serait bien d'isoler tout ce qui est spécifique à un SGBD dans des unités (p. ex : GdbConnexion_pgsql).
Je te propose d'ignorer pour l'instant le remplissage de la table (Queries) qui contient notamment un script assez complexe permettant de sortir un export "FEC" requis par l'administration. Je suis quand même très surpris de la différence de syntaxe entre MySQL et PostgreSQL. On y reviendra quand tu auras avancé, ça n'est pas essentiel.
@Tintinux
Je pense qu'il y a une erreur dans la génération du fichier Sql et du coup je suis un peu coincé.
En effet, par endroit, les noms des tables sont encadrés de caractères bizarres comme celui ci : `
Je pensais à tord que c'était des simples guillemets mais en fait non.
Exemple ligne 1089
Ces caractères n'ont pas lieu d'être et provoquent une perturbation avec les simples guillemets et avec les noms des tables, qui dans les instructions Insert, ne sont pas entourés de caractères. (Sql pour MySQL et Postgres).
Peux-tu modifier cela et me renvoyer le fichier Sql afin de le valider.
Merci d'avance.
Ce n'est pas une erreur, ce sont des guillemets qui étaient demandés par d'anciennes versions de PostgreSQL et sont encore acceptés aujourd'hui par MySql et MariaDb, mais plus par PostgreSQL qui a donc provoqué une rupture de compatibilité.
Dans la mesure où les noms des tables Gestinux ne contiennent jamais d'espace, on peut supprimer les guillemets dans cet export, ce que je vais faire.
En attendant de commiter, je joins le nouvel export avec cette modification.
NB : Il y a un cas, dans les imports, où il est théoriquement possible de lire des tables externes dont le nom pourrait contenir des espaces et donc nécessiter des guillemets. Il faudra voir, plus tard, quel type de guillemet est admis par PostgreSQL.