Миграция базы данных - PullRequest
0 голосов
/ 16 марта 2010

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

Ранее, в зависимости от того, кому была назначена задача, это делалось либо с использованием сценариев sql, либо одноразовых приложений vb.

Я подумал, что должно быть приложение (коммерческое или иное), в котором вы можете назначить эти сопоставления / правила и передать ему данные. Конечно, настройка и настройка этого инструмента будет меньше, чем создание специальных сценариев ...

Есть ли приложение? Кроме очевидных «будьте осторожны», какие-либо советы, чтобы смягчить стресс, не связанный с DBA, портируя одну схему на другую?

Ответы [ 5 ]

1 голос
/ 16 марта 2010

Я использую инструмент OpenL ETL (извлечение / преобразование / загрузка) под названием Talend Open Studio для подобных задач.

Короче говоря, Talend Open Studio (TOS) - это инструмент для генерации кода с графическим интерфейсом, в который вы подключаете различные компоненты для импорта, обработки и экспорта данных, и в результате получается переносимый код Java или Perl. Существует множество компонентов, которые помогут вам принимать решения о нестандартных данных (или вы всегда можете добавить свои собственные подпрограммы Java или Perl для самых сложных частей).

TOS хорошо оправдал время, которое я изначально вложил в него ... поэтому я определенно рекомендую его.

1 голос
/ 16 марта 2010

Вы можете использовать миграцию базы данных в своем коде.

Существует несколько библиотек миграции данных .net, которые были вдохновлены миграциями ruby. Они определяют изменения базы данных в коде.

Миграции позволяют разработчику управлять развертыванием и откатом изменений схемы базы данных контролируемым и согласованным образом.

* +1007 *

Посмотрите на это:

0 голосов
/ 12 мая 2010

Попробуйте Анализатор данных SQL . Этот инструмент позволяет сравнивать / синхронизировать результаты sql-запросов, поэтому вы можете записывать соответствующие запросы в обе базы данных и сравнивать / синхронизировать результаты, возвращаемые этими запросами.

0 голосов
/ 16 марта 2010

Я делаю такие вещи каждый день. из-за пользовательского характера нашего программного обеспечения, я, как правило, единолично. в 70% случаев я использую ms access в качестве посредника (в остальное время я пишу код для этого). Я загружаю исходные данные в MS Access, массирую их, а затем перемещаю в таблицы SQL Server. доступ очень хорошо подходит для этого типа работы. главное, чтобы быть осторожным ваши ключи и дубликаты ограничений. я уверен, что есть готовые приложения для переноса данных, однако для меня требуется больше контроля, и доступ к ms позволяет мне повторно использовать некоторые части импорта данных, сохраняя при этом возможность настраивать все.

С наилучшими пожеланиями, дон

0 голосов
/ 16 марта 2010

Не совсем.Проблема в том, что какое бы приложение у вас не было, оно было бы в любом случае более рамочным.Передачи схемы, по определению, частично сложны для выполнения.И инструмент, выполняющий половину всего этого, почти бесполезен - в любом случае это легко сделать в SQL;)

...