guile-dbi proporciona una interfaz de esquema guile simple, genérica y fácil de usar para bases de datos SQL, como Postgres, MySQL o SQLite3.
El sistema es "genérico" en el sentido de que la misma interfaz de programación (front-end) se puede utilizar con diferentes bases de datos. La parte DBI (independiente de la base de datos) proporciona las interfaces del esquema. Los complementos DBD (dependientes de la base de datos) se conectan a un servidor SQL real. Actualmente, existen backends DBD para Postgres, MySQL y SQLite3. La creación de backends DBD adicionales requiere una pequeña cantidad de codificación C, pero es una tarea sencilla.
Guile-dbi es simple, lo cual es a la vez una bendición y una maldición. En su mayor parte, todo lo que hace es aceptar cadenas astutas que codifican declaraciones SQL, reenviarlas a la base de datos y devolver filas como listas de asociación de esquemas. Se realiza una cantidad mínima de traducción (por ejemplo, las columnas de coma flotante de SQL se convierten en números de coma flotante de esquema), pero no hay nada más sofisticado que esto: no hay ningún tratamiento especial para fechas, monedas, etc. soporte para declaraciones preparadas. Se invita a los programadores capacitados a agregar soporte para esta y otras funciones faltantes.
Alguien inteligente podría querer descubrir cómo reemplazar el código C por interfaces FFI genéricas, de modo que no haya necesidad alguna de ningún código C. Sin embargo, eso requiere más trabajo y el código aquí funciona bien, así que, por ahora, todo parece estar bien.
El manual de usuario y la referencia de guile-dbi están aquí.
Una copia del antiguo y desaparecido sitio web está aquí.
Toda discusión sobre guile-dbi debe dirigirse a: [email protected].
Los errores deben informarse al sitio github de guile-dbi.
Actualmente, el código fuente está organizado en cuatro proyectos distintos: el código principal independiente de la base de datos en DBI y tres controladores DBD diferentes. Tienes que construir cada uno de forma independiente. Necesitará hacer algo como esto:
apt-get install autoconf automake texinfo
o tal vez
yum install autoconf automake texinfo
Entonces:
cd guile-dbi
./autogen.sh --no-configure
Opcionalmente:
ACLOCAL_PATH=/usr/local/share/aclocal/ ./autogen.sh --no-configure
Entonces
mkdir build
cd build
../configure
make
sudo make install
Entonces
cd guile-dbd-[mysql, postgresql, sqlite3]
./autogen.sh --no-configure
mkdir build
cd build
../configure
make
sudo make install
Después de hacer esto, el tutorial del manual del usuario debería funcionar bien.
Guile-dbi se distribuye bajo la licencia Gnu GPLv2. El código y el sitio web fueron desarrollados por Maurizio Boriani (2005-2006) y actualmente son mantenidos por Linas Vepstas (2008-2019).