guile-dbi fornece uma interface de esquema de astúcia simples, genérica e fácil de usar para bancos de dados SQL, como Postgres, MySQL ou SQLite3.
O sistema é 'genérico' no sentido de que a mesma interface de programação (front end) pode ser usada com diferentes bancos de dados. A parte DBI (independente de banco de dados) fornece as interfaces do esquema. Os plug-ins DBD (dependentes de banco de dados) conectam-se a um servidor SQL real. Atualmente, existem back-ends DBD para Postgres, MySQL e SQLite3. A criação de back-ends DBD adicionais requer uma pequena quantidade de codificação C, mas é uma tarefa simples.
Guile-dbi é simples – o que é ao mesmo tempo uma bênção e uma maldição. Na maior parte, tudo o que ele faz é aceitar strings fraudulentas que codificam instruções SQL, encaminhá-las para o banco de dados e retornar linhas como listas de associação de esquemas. Uma quantidade mínima de tradução é executada - por exemplo, colunas SQL de ponto flutuante são convertidas em números de ponto flutuante do esquema - mas não há nada mais sofisticado do que isso - não há tratamento especial para datas, moedas, etc. suporte para declarações preparadas. Programadores capacitados são convidados a adicionar suporte para este e outros recursos ausentes.
Alguém inteligente pode querer descobrir como substituir o código C por interfaces FFI genéricas, de modo que não haja necessidade alguma de nenhum código C. No entanto, isso dá mais trabalho e o código aqui funciona bem, então, por enquanto, as coisas parecem bem.
O manual do usuário e a referência do guile-dbi estão aqui.
Uma cópia do antigo e extinto site está aqui.
Todas as discussões sobre guile-dbi devem ser direcionadas para: [email protected].
Bugs devem ser relatados no site guile-dbi github.
Atualmente, o código-fonte está organizado em quatro projetos distintos: O código principal independente de banco de dados em DBI e três drivers DBD diferentes. Você tem que construir cada um de forma independente. Você precisará fazer algo assim:
apt-get install autoconf automake texinfo
ou talvez
yum install autoconf automake texinfo
Então:
cd guile-dbi
./autogen.sh --no-configure
Opcionalmente:
ACLOCAL_PATH=/usr/local/share/aclocal/ ./autogen.sh --no-configure
Então
mkdir build
cd build
../configure
make
sudo make install
Então
cd guile-dbd-[mysql, postgresql, sqlite3]
./autogen.sh --no-configure
mkdir build
cd build
../configure
make
sudo make install
Depois de fazer isso, o tutorial no manual do usuário deve funcionar bem.
Guile-dbi é distribuído sob a licença Gnu GPLv2. Código e site foram desenvolvidos por Maurizio Boriani (2005-2006) e atualmente são mantidos por Linas Vepstas (2008-2019).