Wrangler 4.159.0 добавил экспорт D1 в формате для SQLite

Wrangler 4.159.0 добавил экспорт D1 в формате для SQLite
Содержание статьи

9 ноября Cloudflare выпустила Wrangler 4.159.0. В команде wrangler d1 export появился режим для выгрузки удалённой базы D1 в формате, который читает утилита sqlite3. В такой дамп попадают виртуальные таблицы, в том числе FTS5 для полнотекстового поиска. На Mentoring.digital разбираем, когда пригодится этот формат и какую копию сохранить для восстановления.

Как выбрать формат дампа

Обычный экспорт по-прежнему использует формат d1. Если копию планируют загрузить обратно в Cloudflare D1, оставьте этот режим и отдельно проверьте требования к виртуальным таблицам. Новый вариант sqlite3_cli_only выдаёт дамп в формате команды .dump утилиты SQLite. Cloudflare D1 не поддерживает обратный импорт такого файла.

Режим для sqlite3 работает только при экспорте удалённой базы. Wrangler не принимает с ним --local, --no-data и --no-schema. Это стоит проверить в скриптах, которые раньше выгружали только схему или только данные.

Как проверить копию с FTS5

Возьмите тестовую удалённую базу с виртуальной таблицей и выполните экспорт. Подставьте имя своей тестовой базы вместо demo-db.

npx wrangler d1 export demo-db --remote --output demo.sql --compatibility sqlite3_cli_only

Откройте дамп в отдельной базе через sqlite3. Проверьте наличие виртуальной таблицы и выполните запрос MATCH по слову с заранее известным результатом. Если вам нужны оба варианта восстановления, сохраняйте в названии файла назначение копии и проверяйте импорт в каждой среде отдельно.

План проверки резервных копий и этапы восстановления можно разобрать с ментором по DevOps.

Похожие статьи по данной теме