Синхронизация баз данных с игнорированием таблицы?

Ссылка скопирована
1 ответ

Создаю простое приложение на Java с использованием SQLite. Есть база данных А, которая принимает обновления и патчи, и база Б, которая синхронизируется с базой А. Необходимо провести полную синхронизацию А с Б, чтобы 1 таблица в базе Б осталась нетронута. Сейчас синхронизация работает так:
Если есть различия версий - база Б дропается и полностью копирует побайтово базу А с нуля (весьма криво, знаю).
Подскажите, пожалуйста, как можно произвести обновление базы Б, чтобы в ней одна таблица осталась нетронута

Дополнительно:

Вариант 1. Не дропать базу. Дропать и пересоздавать отдельные таблицы.
Вариант 2. Вынести указанную таблицу в отдельную БД.
Вариант 3. Перед дропаньем экспортировать указанную таблицу, после пересоздания БД импортировать обратно.

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Юрий Linux Ответ

Для синхронизации баз данных с игнорированием определенной таблицы вы можете использовать следующий подход:

1. Создайте резервную копию базы данных, чтобы иметь возможность восстановить данные в случае ошибки.
2. Определите список таблиц, которые вы хотите исключить из синхронизации.
3. Используйте инструмент для сравнения баз данных, такой как mysqldiff или другой аналогичный инструмент, чтобы сравнить структуру таблиц в двух базах данных.
4. Измените скрипт сравнения таким образом, чтобы он игнорировал таблицы, которые вы хотите исключить из синхронизации.
5. Запустите скрипт сравнения и примените изменения к вашей целевой базе данных.

Пример использования mysqldiff для сравнения баз данных с игнорированием таблицы "example_table":

mysqldiff --difftype=sql --difftype=datadiff --skip-table=example_table db1 db2 > changes.sql

mysqldiff --difftype=sql --difftype=datadiff --skip-table=example_table db1 db2 > changes.sql

После выполнения этих шагов, вы сможете синхронизировать базы данных, игнорируя определенную таблицу. Убедитесь, что вы понимаете последствия такого действия и имеете резервную копию данных перед применением изменений.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно