Перейти к основному содержанию

Вопросы

Сохраняются ли мои данные?

Вопрос охватывает три разных аспекта, и у каждого — свой ответ. Удаление внутри приложения можно отменить: строка не удаляется окончательно, а попадает в корзину, откуда её легко восстановить одной кнопкой. Данные вы можете экспортировать в любое время — у каждого списка есть своя кнопка экспорта. Но база данных развернутого приложения НЕ резервируется никаким встроенным механизмом продукта: в цепочке развертывания отсутствует команда резервного копирования, и обеспечивать её должен хостинг-провайдер. Проще говоря: лишний клик исправляется сам собой, а потерянную базу уже не вернуть. Эта страница чётко обозначает границу ответственности, чтобы вы задали правильные вопросы ещё до того, как начнёте вводить реальные данные.

Удаление внутри вашего приложения ничего не уничтожает

Кнопка «Удалить» не удаляет данные окончательно: она лишь помечает строку как удалённую с помощью специальной колонки. Строка исчезает из списков, итогов и показателей — но остаётся в базе. Как только хотя бы одна строка будет помечена как удалённая, в разделе «Настройки» появится карточка «Корзина» с кнопкой «Восстановить». Это подтверждается в поставляемом коде: ни один из сгенерированных маршрутов не вызывает окончательное удаление из базы данных.

Кроме того, реализована двухэтапная подтверждение: первый клик активирует операцию удаления, второй — подтверждает её. Такой подход надёжнее стандартного диалога браузера. Самый частый случай — лишний клик в конце рабочего дня — решается за полминуты и без привлечения кого-либо. Именно эта функция — единственная из трёх — полностью реализована внутри приложения, поэтому она и стоит на первом месте.

Экспортируйте данные в любое время

Каждый список содержит кнопку экспорта в формате CSV. Она экспортирует ТОЛЬКО те строки, которые вы ВИДИТЕ — с учётом текущих фильтров и поиска. Подпись к кнопке указывает точное количество строк, которые будут экспортированы: данные, не отображаемые на экране, никогда не экспортируются «в тишине». Файл формируется так, чтобы корректно открываться в русскоязычном табличном редакторе — без проблем с переносами и искажёнными символами, типичных для большинства экспортов.

Это копия, находящаяся в вашем распоряжении, и её следует называть тем, чем она является: это НЕ резервная копия в техническом смысле. CSV не позволяет восстановить приложение — в нём нет связей между таблицами, истории изменений и удалённых записей. Он нужен для того, чтобы вы могли взять управление в свои руки: открыть цифры в табличном редакторе, передать их бухгалтеру или импортировать в другую систему. Это средство защиты от vendor lock-in, а не от сбоев.

Что не делается автоматически — и что требуется согласовать заранее

После развертывания приложение получает собственную базу данных PostgreSQL. Однако в цепочке развертывания отсутствует любой механизм резервного копирования: в коде, который разворачивает приложения, нет команды создания резервной копии. Это не упущение, которое мы умалчиваем, а чёткая граница ответственности: резервное копирование зависит от места размещения приложения, и потому лежит на том, кто его размещает — будь то вы, ваш подрядчик или мы, если размещаем приложение у себя.

Для прояснения ситуации достаточно трёх вопросов — и задать их нужно до ввода реальных данных. Кто создаёт резервную копию и с какой периодичностью? Где она хранится — обязательно вне машины, на которой работает приложение, иначе один сбой уничтожит и приложение, и копию? И главное: кто-нибудь уже ВОССТАНАВЛИВАЛ приложение из этой копии? Последний вопрос чаще всего упускают из виду, но именно он единственный доказывает действительность резервной копии: копия, которую никогда не восстанавливали, это не резервная копия, а гипотеза.

Как требования к резервному копированию зависят от ваших данных

Не все данные требуют одинаковых мер защиты. Для инструмента, содержимое которого легко восстановить — например, еженедельное расписание или простой учёт, который можно ввести заново за час — вполне достаточно ежемесячного экспорта, сохранённого в надёжном месте. А вот для данных, которые невозможно восстановить — например, базы участников, истории обращений клиентов или текущих дел — автоматическое резервное копирование базы данных является обязательным условием, а не опцией: никто не восстановит трёхлетнюю историю по памяти.

Хорошая новость в том, что технических препятствий нет: сгенерированный код использует стандартный Next.js и Prisma поверх PostgreSQL, без проприетарных форматов, которые нужно было бы обходить. Резервное копирование PostgreSQL — обычная операция, которую умеет выполнять любой компетентный провайдер. Поэтому вопрос всегда звучит не «возможно ли это?», а «кто этим занимается, с какого времени и проверялось ли восстановление хотя бы раз?».

Узнать больше

Похожие вопросы

Сначала определите, что вы не можете позволить себе потерять