У меня есть сервер mysql, на котором размещена производственная база данных, и я регулярно делаю ее снимки, которые мы также можем использовать в качестве промежуточной среды.
Иногда случаются плохие вещи, например мы удаляем строку (и все те, которые связаны с ней через внешние ключи) из производства, и после исправления плохого кода я перехожу к импорту данных из резервной копии.
Но, будучи новичком в операционном отделе, я не уверен, каков будет правильный процесс.
На данный момент у меня есть сценарий, который делает что-то вроде:
Это кажется хакерским и всегда допускает некоторую несогласованность как в части поиска данных (например, список «связанных» таблиц в моей базе данных неверен), так и в части импорта данных (например, ограничения нарушаются, поскольку базы данных «расходятся» и я должен исправить INSERT
код вручную).
Есть ли правильный способ делать такие вещи?
Я вижу похожие вопросы по SF, например перемещение данных из одной базы данных MYSQL в другую но похоже, что это связано с объединением целых dbs или импортом всей резервной копии, а не с восстановлением небольшого «автономного» фрагмента данных.
Нет, то, как вы это сделали, в значительной степени и должно быть сделано. В верный Решение проблемы - никогда не удалять данные - пометить их как неактивные или, в худшем случае, переместить в «удаленную» таблицу. Журналы аудита тоже работают.