Випадково видалили базу 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 бази разом із часом видалення в журналі інциденту. Це допоможе швидко надіслати коректний запит і не витрачати час на пошук ідентифікаторів та з’ясування конфлікту імені.