vdct / ProjetDuMois

GNU Affero General Public License v3.0
21 stars 11 forks source link

[BUG] Le PDM, sensible Ă  la casse đŸ€” #303

Closed Darkham42 closed 1 year ago

Darkham42 commented 1 year ago

Bonjour,

Tout d'abord merci pour la mise Ă  disposition de cet outil fort pratique !

J'ai constatĂ© un soucis que j'ai du mal Ă  comprendre malgrĂ© le fait d'avoir Ă©normĂ©ment consultĂ© le code et surtout les scripts sql. En effet, un identifiant entiĂšrement en majuscule m'a empĂȘchĂ© d'avancer...

Illustrons ce soucis par un exemple : Créons un projet CINEMA, avec du coup l'identifiant 2023_CINEMA et le title CINEMA, en consultant ma base de donnée, j'ai bien les tables suivantes :

 public | pdm_project_CINEMA                  | view              | postgres
 public | pdm_project_CINEMA_point        | table             | postgres

Toutefois lorsque je fais tourner les scripts (le db/30_projects_update.js en particulier si je ne m'abuse), il me renvoie l'erreur suivante :

psql:/opt/pdm/db/33_changes_boundary.sql: 12: ERROR: relation "pdm_project_cinema" does not exist
LINE 3: FROM pdm_project_CINEMA

On peut constater dans l'erreur une différence de casse entre ce qu'il attend et ce qui est en base de donnée...

J'ai du coup mis en minuscule l'id du projet et depuis plus de soucis... Mais je ne vois rien dans le code qui ferait un lowerCase de cet id, donc je ne peux pas contribuer pour corriger ce soucis. Ou alors le soucis est tout autre, mais ça me semble peu probable. Je m'en remets donc à vous !

PanierAvide commented 1 year ago

Bonjour,

Merci pour ce retour dĂ©taillĂ©. Il y a de grandes chances que ce problĂšme de casse soit du cĂŽtĂ© de PostgreSQL, Ă  savoir que si un nom de colonne ou de table est dans une requĂȘte SQL sans ĂȘtre entourĂ© de double-guillemets ", il est automatiquement repassĂ© en minuscules. Deux façons de corriger :

Cordialement.

Darkham42 commented 1 year ago

Super, du coup je pense que le plus simple sera de le mettre dans la documentation en effet.