Удалили базу Cloudflare D1 по ошибке? На восстановление через API теперь отведено семь дней с момента удаления. Изменение опубликовано 23 октября 2026 года: запросы для баз, удалённых более семи дней назад, завершаются ошибкой. В аварийном сценарии подтвердите идентификатор базы и отправьте запрос undelete как можно скорее.

Что изменилось
Метод восстановления принимает ID аккаунта и UUID удалённой базы; в теле запроса можно передать новое имя. По умолчанию база возвращается под прежним именем. Если это имя уже занято другой базой в аккаунте, для восстановления нужно указать new_name. Эти условия перечислены в справочнике D1 undelete API.
Срок — семь суток, или 7 × 24 часа. Поэтому одной календарной даты недостаточно: зафиксируйте время удаления и сравните его со временем отправки запроса. Если предел близко, сначала отправьте запрос на восстановление, затем проверьте имя и данные.
Порядок действий
- Найдите удалённую базу. Подтвердите account ID и database ID по журналам, инфраструктурному коду или сведениям об инциденте. Путь API использует UUID базы; её отображаемого имени для запроса недостаточно.
- Проверьте временное окно. Убедитесь, что с удаления прошло меньше семи суток. Cloudflare советует отправлять запрос сразу после обнаружения ошибочного удаления.
- Разрешите конфликт имени. Если прежнее имя уже используется, передайте свободное значение через
new_name; иначе менять имя не требуется. - Вызовите документированный метод. API использует
POST /accounts/{account_id}/d1/database/{database_id}/undelete. Авторизуйте запрос API-токеном с нужными правами и не помещайте секрет в логи. - Проверьте результат. После успешного ответа убедитесь, что база появилась в аккаунте под ожидаемым именем, и проверьте, что приложение подключается к нужному экземпляру.
Undelete и Time Travel решают разные задачи
Undelete возвращает удалённую базу. Time Travel восстанавливает состояние существующей базы по времени или bookmark. Документация Cloudflare указывает, что история доступна за последние 30 дней; фактический период зависит от плана. После undelete Time Travel не может вернуть базу к отметке или времени до восстановления. При ошибке в данных работающей базы используйте Time Travel, а для удалённого объекта — undelete в пределах установленного срока.
Для эксплуатации включите проверку семидневного окна в процедуру реагирования и храните ID базы вместе со временем удаления в журнале инцидента. Это поможет быстро отправить корректный запрос и не тратить время на поиск идентификаторов и выяснение конфликта имени.