1820Close
flankerOn the 2015-07-08 at 12:10am
Meowcate (./17) :
Euh ?Si tu parles des commandes, ça fait longtemps qu'on n'utilise plus des commandes comme mysql_connect mais l'abstraction PDO.

Encore heureux ! Sauf que ça n'abstrait pas grand'chose. Essaie de passer un Wordpress ou un PhpBB à du Postgres, tu vas rire.
Si tu parles de la syntaxe, je veux bien reconnaître quelques différences. Encore entre MySQL et SQLite, à part que SQLite n'a pas d'autre JOIN que LEFT (nécessitant alors de bien choisir l'ordre), les deux sont interchangeables avec quelques standards. En Postgres, il y a davantage de changements, je suis d'accord (plus qu'entre MySQL et Oracle ou SQLServeur à mon souvenir).

Perso, j'utilise quasi-systématiquement du SQLite (pour le dev) ET du Postgres (pour la finalisation et la mise en place), mais quand je fais un composant réutilisable, il *doit* être compatible avec n'importe quelle base.
Et si je fais un site utilisable par quelqu'un d'autre, c'est quand même beaucoup mieux de lui permettre d'utiliser MySQL, SQLite, Postgres, Oracle, MSSQL à sa convenance… (le truc totalement impensable quand tu écris tes requêtes à la main).

Mais il peut toujours arriver à mon sens des situations où les ORM ne peuvent avoir une couche d'abstraction suffisamment précises (pour les rares cas de requêtes vraiment complexes) et où il est nécessaire d'écrire la requête à la main.Je ne dis pas qu'il faut se remettre au SQL à la main, mais qu'il est important (pour ne pas dire capital) de savoir faire sans. Si on connaît SQL, on peut se permettre d'utiliser des outils qui vont améliorer le travail. Quand on bute en ORM sur une requête complexe, un moyen d'y voir plus clair est de se demander comment on l'écrirait en pure SQL.

Évidemment qu'il faut savoir se servir de ses outils cheeky Pour savoir utiliser un ORM, connaître le SQL est un prérequis ; tes requêtes via l'ORM seront aussi bonnes/mauvaises que si tu les faisais en SQL directement.
J'imagine que tout bon ORM va te laisser écrire du SQL pur s'il y en a vraiment besoin, mais ça va quand même limiter énormément les parties à contrôler quand tu vas changer de BDD.
Et pis d'abord si tu dois changer le type BDD de tous tes sites du jour au lendemain, t'avais qu'à y penser avant, boloss !

Quelle idée étrange de vouloir imposer la même BDD dans tous les cas. Ne fais-tu jamais de code réutilisable ? hum

puis tu oublies deux des trois arguments… tongue