Späť na rubriku
Willison ⭐ Dôležité

Simon Willison: sqlite-utils 4.0rc1 prináša migrácie a nested transakcie

Pondelok 22. júna 2026 Zdroj: Simon Willison

Hlavná myšlienka

Willison v sqlite-utils 4.0rc1 dotiahol experimentálny sqlite-migrate package priamo do core knižnice a pridal db.atomic() na nested SQLite transakcie cez savepoints v štýle Django a Peewee.

Kontext

sqlite-utils je Willisonov flagship Python/CLI toolkit pre SQLite a tvorí základ Datasette ekosystému, ktorý tento mesiac aktívne tlačí (Jun 18 „Datasette Apps" post). Schema evolution bola dlhodobá medzera — predtým ju riešil ako samostatný sqlite-migrate. Release coincide s jeho push-om robiť z Datasette serióznu platformu na hosting apiek.

Prečo to stojí za pozornosť

Pre tímy, ktoré bežia SQLite v produkčných Python appkách alebo stavajú na Datasette, sa schema evolution stáva first-class supported workflow, nie custom skriptom. Breaking changes (upsert syntax, REAL vs FLOAT, drop Python 3.8) si vyžadujú pin a test pred upgradom.

Detaily / argumenty

  • Migrácie built-in: schema zmeny ako dekorované Python funkcie. Bez reverse migrations by design — chyby fixuješ novou forward migráciou
  • db.atomic() context manager wrap-uje SQLite SAVEPOINTs — bezpečné nested transakcie po vzore Django a Peewee
  • Breaking: nová upsert syntax, drop Python 3.8, view access oddelený od table access v API
  • Breaking: float stĺpce sú teraz REAL namiesto FLOAT; zmenený default pre CSV / TSV type-detection
  • RC stage — Willison explicitne pozýva community testing pred 4.0 stable cut
Otvoriť pôvodný zdroj Simon Willison