Импорт данных и сохранение идентификаторов и связей - PullRequest
1 голос
/ 12 марта 2010

Я работаю над устранением беспорядка, который начал другой программист. Созданы 2 идентичные базы данных для разных мест, но это, очевидно, вызвало серьезные проблемы. Они используют cakePHP, и их довольно много. Я почти уверен, что мне придется написать сценарий для импорта этих данных из БД в другую и сохранить все взаимосвязи, но мне было интересно, есть ли более простой способ сделать это.

1 Ответ

2 голосов
/ 12 марта 2010

Какую базу данных вы используете? Насколько велики базы данных с точки зрения записей?

Идея № 1

А как насчет такого инструмента, как RedGate SQL Data Compare? Он сравнивает данные между двумя базами данных и позволяет синхронизировать их.

Раньше я использовал этот инструмент для синхронизации изменений между различными производственными БД, и он работает как сон. SQL-инструменты RedGate на высшем уровне (не связаны с ними вообще).

Сравнение данных SQL: http://www.red -gate.com / products / sql_data_compare / index.htm

Идея № 2

Вам придется отключить ограничения внешнего ключа, чтобы импортировать все данные, если существует много взаимосвязей. После этого вы можете импортировать данные по одной таблице за раз. Если вы используете базу данных, такую ​​как mysql, используйте mysqldump для создания вставок sql. Процесс создания сценария в основном автоматизирован для вас. Тем не менее все еще хрюкает.

...