shell_exec некорректно работает с бинарными данными.
Теперь mysqldump пишет во временный файл, который потом стримится клиенту.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Кнопка "Бэкап" в toolbar открывает диалог выбора БД
- Можно скачать дамп одной БД или всех сразу
- Дамп создаётся через mysqldump и сразу стримится пользователю (gzip)
- Без сохранения на сервере
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Чекбоксы теперь работают только при клике на сам чекбокс (не на строку)
- Повторный клик на чекбокс снимает выделение
- Множественное выделение строк работает корректно
- Исправлен выбор количества записей на странице (сервер читает параметр 'size')
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Бэкенд:
- Добавлен try-catch для insert, update, delete, delete-batch
- Ошибки возвращаются как JSON с полем message
Фронтенд:
- Улучшена функция api() для парсинга JSON ошибок
- Извлечение понятного сообщения из ответа сервера
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Добавлен batch delete метод на бэкенде (удаление множества строк за один запрос)
- Использование WHERE IN для удаления нескольких строк одним SQL запросом
- Добавлен прогресс-бар при удалении большого количества строк
- Удаление 1000 строк теперь занимает секунды вместо минут
- Добавлена поддержка транзакций для атомарности операций
- Оптимизирован размер батчей для баланса производительности и надежности
- Удалено детальное логирование каждой строки импорта в PHP (error_log в циклах)
- Убраны console.log при парсинге и обработке CSV на фронтенде
- Оставлено только логирование начала/конца импорта и ошибок
- Значительно улучшена производительность при импорте больших файлов (тысячи строк)