guile-dbi fournit une interface de schéma Guile simple, générique et facile à utiliser pour les bases de données SQL, telles que Postgres, MySQL ou SQLite3.
Le système est « générique » dans le sens où la même interface de programmation (front end) peut être utilisée avec différentes bases de données. La partie DBI (indépendante de la base de données) fournit les interfaces du schéma. Les plugins DBD (dépendants de la base de données) se connectent à un serveur SQL réel. Actuellement, il existe des back-ends DBD pour Postgres, MySQL et SQLite3. La création de back-ends DBD supplémentaires nécessite une petite quantité de codage C, mais constitue une tâche simple.
Guile-dbi est simple – ce qui est à la fois une bénédiction et une malédiction. Pour l'essentiel, tout ce qu'il fait est d'accepter les chaînes guile codant pour les instructions SQL, de les transmettre à la base de données et de renvoyer les lignes sous forme de listes d'associations de schémas. Une quantité minimale de traduction est effectuée - par exemple, les colonnes à virgule flottante SQL sont converties en nombres à virgule flottante - mais il n'y a rien de plus sophistiqué que cela - il n'y a pas de traitement spécial pour les dates, les devises, etc. prise en charge des déclarations préparées. Les programmeurs compétents sont invités à ajouter la prise en charge de cette fonctionnalité ainsi que d'autres fonctionnalités manquantes.
Quelqu'un d'intelligent voudra peut-être comprendre comment remplacer le code C par des interfaces FFI génériques, afin qu'il n'y ait aucun besoin de code C. Cependant, cela demande plus de travail et le code ici fonctionne correctement, donc pour l'instant, les choses semblent correctes.
Le manuel d'utilisation et la référence guile-dbi sont ici.
Une copie de l’ancien site Web disparu est ici.
Toute discussion sur guile-dbi doit être adressée à : [email protected].
Les bugs doivent être signalés sur le site github guile-dbi.
Actuellement, le code source est organisé en quatre projets distincts : le code principal indépendant de la base de données dans DBI et trois pilotes DBD différents. Vous devez construire chacun indépendamment. Vous devrez faire quelque chose comme ceci :
apt-get install autoconf automake texinfo
ou peut-être
yum install autoconf automake texinfo
Alors:
cd guile-dbi
./autogen.sh --no-configure
En option :
ACLOCAL_PATH=/usr/local/share/aclocal/ ./autogen.sh --no-configure
Alors
mkdir build
cd build
../configure
make
sudo make install
Alors
cd guile-dbd-[mysql, postgresql, sqlite3]
./autogen.sh --no-configure
mkdir build
cd build
../configure
make
sudo make install
Après cela, le didacticiel du manuel d'utilisation devrait fonctionner correctement.
Guile-dbi est distribué sous la licence Gnu GPLv2. Le code et le site Web ont été développés par Maurizio Boriani (2005-2006) et sont actuellement gérés par Linas Vepstas (2008-2019).