<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Транзакции on AI-Uchi — Всё об искусственном интеллекте</title><link>/tags/%D1%82%D1%80%D0%B0%D0%BD%D0%B7%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/</link><description>Recent content in Транзакции on AI-Uchi — Всё об искусственном интеллекте</description><generator>Hugo</generator><language>ru</language><lastBuildDate>Tue, 14 Jul 2026 11:00:00 +0300</lastBuildDate><atom:link href="/tags/%D1%82%D1%80%D0%B0%D0%BD%D0%B7%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/index.xml" rel="self" type="application/rss+xml"/><item><title>sqlite-utils 4.1.1: защита от молчаливой потери данных</title><link>/translations/sqlite-utils-4-1-1-zashchita-ot-molchlivoy-poteri-dannyh/</link><pubDate>Tue, 14 Jul 2026 11:00:00 +0300</pubDate><guid>/translations/sqlite-utils-4-1-1-zashchita-ot-molchlivoy-poteri-dannyh/</guid><description>&lt;h2 id="что-изменилось-в-sqlite-utils-411"&gt;Что изменилось в sqlite-utils 4.1.1&lt;/h2&gt;
&lt;p&gt;Симон Уиллисон выпустил патч-версию своего популярного инструмента для работы с SQLite-базами данных. На первый взгляд изменение выглядит небольшим — исправлена одна конкретная ситуация в методе &lt;code&gt;table.transform()&lt;/code&gt;. Но за этим лаконичным описанием скрывается по-настоящему коварная ловушка, которая могла приводить к &lt;strong&gt;молчаливому удалению или изменению данных&lt;/strong&gt; — без единого сообщения об ошибке.&lt;/p&gt;



&lt;div class="callout callout-warning"&gt;
 &lt;div class="callout-title"&gt;&amp;#9888; Важно для пользователей 4.x&lt;/div&gt;
 &lt;div class="callout-content"&gt;Если вы используете &lt;code&gt;table.transform()&lt;/code&gt; внутри транзакций при включённых внешних ключах (&lt;code&gt;PRAGMA foreign_keys = ON&lt;/code&gt;) — обновление до 4.1.1 обязательно. Старое поведение могло незаметно уничтожать связанные строки.&lt;/div&gt;
&lt;/div&gt;

&lt;hr&gt;
&lt;h2 id="суть-проблемы-transform-транзакции-и-внешние-ключи"&gt;Суть проблемы: transform, транзакции и внешние ключи&lt;/h2&gt;
&lt;p&gt;Чтобы понять, что именно исправлено, нужно разобраться в том, как &lt;code&gt;table.transform()&lt;/code&gt; работает «под капотом».&lt;/p&gt;</description></item></channel></rss>