Executando verificação de segurança...
1

Codeigniter 4 com Firebird

Uso o Codeigniter há muito tempo e gosto muito e resolve meus problemas de forma satisfatória.

O lançamento do Codeigniter 4 foi bom e ruim. Bom porque atualizou a ferramenta e a tornou contemporânea das versões atuais do PHP. REuim porque migrar um app do 3 pro 4 é um parto. Fora isso a gente vai levando numa boa.

Até que me deparei com um problema:

A versão 4 do Codeigniter não tem um driver de conexão para Firebird. Nem via PDO. Na documentação diz que já existe MySQL, PostgreSQL, SQLite3, MSSQLServer e Oracle com drivers nativos do Codeigniter e depois diz:

Nem todos os drivers foram convertidos/reescritos para CodeIgniter 4. A lista abaixo mostra os destaques.

E então lista alguns bancos e dentre eles (pra meu infortúnio) o Interbase/Firebird.

Tenho algumas aplicações no 3 que gostaria de migrar pro 4 e até hoje isso não foi possível por causa disso.

Pesquisei no GitHub por alguma coisa e a única que encontrei foi a leirags/Ci4-PDO-Firebird que só teve uns 9 commits e não vê atualizações já há 3 anos.

Fiz um fork e vou tentar atualizar o que tem lá e ver se consigo fazer funcionar. Isso pra mim é um desafio. Mas aceito ajuda!

Quem quiser tentar me ajudar nisso vamos lá!

Ajuda. Idéias. Alternativas. Qualquer coisa tá valendo!

(Atualização)
Também encontrei em rlucasfm/CI4-FirebirdModelBase uma outra abordagem.

(Atualização 18/02/2024)
Consegui corrigir a implementação do leirags/Ci4-PDO-Firebird que ficou funcionando bem no Codeigniter 4.4.5. Quem precisar basta baixar o meu fork em joeedman/CI4-PDO-Firebird.

Carregando publicação patrocinada...
1

E porque não sair do finado Firebird? Aqui migramos tudo o que era Firebird para Postgres. O ganho de performance foi significativo, fora a confiabilidade. A migração é relativamente simples.

1

No presente ainda dá pra ir levando. Mas meu post aí é olhando o futuro.

Não tenho projetos novos com o Firebird. Pra isso o MySQL funciona bem.

Mas tenho clientes que possuem sistemas legados com Firebird e que precisam de APIs, por exemplo. Dá pra fazer APIs usando PHP puro ou outro framework. Eu ainda uso Codeigniter 3.x pra isso porque ele tem driver pra Firebird. Mas o CI3 está fadado a ficar pra traz. Ele ainda funciona no PHP 8.2 mas não sei até quando isso se mantém.