PHP / MySQL Концептуальная база данных 'Синхронизация' вопрос - PullRequest
4 голосов
/ 23 июня 2011

Я работаю над классом PHP, реализующим PDO для синхронизации таблицы локальной базы данных с удаленной.

Вопрос

Я ищу некоторые идеи / методы / предложения о том, как реализовать функцию «резервного копирования» в моем процессе «синхронизации». The ideas is: Перед фактической вставкой данных я делаю полную очистку данных локальной таблицы. Время не имеет значения, поэтому я считаю, что это самое чистое и простое решение, и мне не придется беспокоиться о проверке различий в данных и прочем джазе. The Problem is, я хочу внедрить какую-то меру безопасности на случай, если во время вставки данных возникнет проблема, например, потеря интернет-соединения или что-то в этом роде. Пока у меня есть единственная идея: скопировать указанную таблицу для синхронизации -> стереть указанную таблицу -> вставить данные удаленных таблиц в локальную таблицу -> в случае успешного удаления резервной копии.

Ответы [ 2 ]

3 голосов
/ 23 июня 2011

Проверить mk-table-sync . Он сравнивает две таблицы на разных серверах, используя контрольные суммы кусков строк. Если данный чанк идентичен между двумя серверами, копирование не требуется. Если фрагмент отличается, он копирует только тот фрагмент, который ему нужен. Вам не нужно стирать локальный стол.

Другой альтернативой является копирование удаленных данных в отдельное имя таблицы. Если он завершается успешно, УДАЛИТЕ старую таблицу и переименуйте новую локальную копию в имя исходной таблицы. Если копия не удалась или была прервана, удалите локальную копию с другим именем и повторите попытку. Между тем ваша другая локальная таблица с предыдущими данными не тронута.

0 голосов
/ 14 апреля 2017

Ниже приводится веб-инструмент, который синхронизирует базу данных между вами и сервером или другим разработчиком.

Это на основе Git. Поэтому вы должны использовать Git в проекте.

Но это полезно только при разработке приложения. это не инструмент для сравнения баз данных.

Для синхронизации баз данных вы регулярно отправляете код в Git.

Git Project: https://github.com/hardeepvicky/DB-Sync

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...