Ticket UUID: 82059f336a0285d7887c69b52347ea77e3c76214
Title: Utiliser PDO comme backend de Garradin\DB
Status: Closed Type: Feature_Request
Severity: Minor Priority: Immediate
Subsystem: Resolution: Rejected
Last Modified: 2013-11-20 16:09:11
Version Found In:
Target version:
Description:
Ça serait cool d'utiliser PDO comme backend derrière Garradin_DB pour pouvoir utiliser d'autres moteurs de bdd, comme mySQL ou PostgreSQL.

Il faudra ensuite voir quelles sont les adaptations nécessaires pour fonctionner sur tel ou tel moteur.

User Comments:
bohwaz added on 2013-11-18 17:21:36:
pas possible, PDO n'a pas l'intégration nécessaire avec la lib sqlite3

anonymous added on 2013-11-20 10:59:24:
Il y a peut-être un souci avec les dernières version de SQLite3 mais il me semble que PDO fonctionne tout de même avec SQLite3 il faut juste activer le driver PDO dédié (php_pdo_sqlite):
http://php.net/manual/fr/ref.pdo-sqlite.php

Attention dans phpinfo() 'sqlite3' est indiqué simplement comme 'sqlite'
L’installation varie selon les OS. Pour les versions recentes de Ubuntu/Debian c'est "apt-get install php5-sqlite" (mais certaines vielles distribs demandent php5-sqlite3).

http://forum.ubuntu-fr.org/viewtopic.php?id=230138

anonymous added on 2013-11-20 11:23:39:
Sinon à la place de PDO il est peut-être intéressant d'utiliser des ORMs du genre Doctrine, Propel, ReadBean, xPDO, Outlet, etc...

bohwaz added on 2013-11-20 15:09:11:
Hello,

oui oui PDO fonctionne avec SQLite3 mais ne comporte pas la même intégration avec la lib sqlite3, par exemple il n'a pas de méthode readOnly() pour savoir si la requête entrée ne fait pas de modification à la base de données.

Enfin, je ne pense pas intégrer de gestion de mySQL ou de pgSQL, ça serait beaucoup de boulot car Garradin utilise des fonctionnalités précises de SQLite qui ne sont pas dispos dans les autres moteurs. Et le principe de tout avoir stocké dans un fichier, permettant de faire des sauvegardes ou restaurations de manière simple est assez cool.