O projeto sqlite-utils lançou a versão 4.0, sua primeira atualização principal desde novembro de 2020. Este lançamento introduz três recursos significativos: migrações de esquema de banco de dados, transações aninhadas através do novo método `db.atomic()`, e suporte para chaves estrangeiras compostas.

  • As migrações de esquema de banco de dados permitem que os usuários definam e acompanhem a sequência de alterações em bancos de dados SQLite usando arquivos Python e o método `table.transform()`.
  • O sistema rastreia as migrações aplicadas em uma tabela `_sqlite_migrations` e suporta a verificação de diretórios para atualizações pendentes através do comando `uvx sqlite-utils migrate`.
  • As transações aninhadas são habilitadas através do novo gerenciador de contexto `db.atomic()`.
  • Chaves estrangeiras compostas agora são suportadas, expandindo as capacidades relacionais além das referências simples de uma única coluna.

Essas adições fornecem aos desenvolvedores ferramentas robustas para gerenciar a evolução do esquema do banco de dados e a lógica transacional complexa dentro do SQLite.