|
|
|
Сравнение двух схем и получение скрипта для синхронизации
|
|||
|---|---|---|---|
|
#18+
Всем привет. 11g+ Может быть кто-то встречал инструмент, позволяющий сранивать 2 схемы и выдавать разницу, а также скрипт, позволяющий внести изменения в одну из них, чтобы догнать ее до другой. Под инструментом я имею в виду готовый(полуготовый) скрипт/ы, позволяющий в командной строке с прараметрами что-то вызвать и получить файлы с данными или данные описывающие разницу между схемами и скрипт для update. Т.е. сделать все то же самое, что позволяют сделать в интерфейсе pl/sql developer, sql developer, dbForge Schema Compare for Oracle и т.п. только не через интерфейс а через скрипт или какой-то api. Хотелось бы видеть разницу между всеми объектами БД(таблицы (включая комментарии), вьюхи, синонимы, последовательности, программные модули, привелегии(возможно) и т.п.). Идеально конечно было бы видеть и разницу в самих данных. Есть скрипт от Jeff Hunter http://www.idevelopment.info/data/Oracle/DBA_scripts/Database_Administration/dba_compare_schemas.sql но он не сравнивает комментарии и к нему еще нужен скрипт для update Есть оракловая функция DBMS_METADATA_DIFF.COMPARE_ALTER, позволяющая создавать скрипт для update, но она работает далеко не для всех типов объектов. Есть интересный пакет DBMS_COMPARISON, но как я понял он не создает скрипт для синхронизации схем, а сам синхронизирует по запросу? также необходимо явно прописывать названия сравниваемых объектов, и для сравнения данных таблицы должны иметь первичные ключи Может есть какие интересные freeware-инструменты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2017, 23:44 |
|
||
|
Сравнение двух схем и получение скрипта для синхронизации
|
|||
|---|---|---|---|
|
#18+
menja_zovut_deniska, как отличить drop+create от replace/rename? А по сему, универсальный подход - все дропнуть и... подумав больше не создавать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2017, 01:09 |
|
||
|
Сравнение двух схем и получение скрипта для синхронизации
|
|||
|---|---|---|---|
|
#18+
не знаю, как в plsql developer в toad запуск compare schemas можно организовать из командной строки с помощью automation designer ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2017, 06:34 |
|
||
|
Сравнение двух схем и получение скрипта для синхронизации
|
|||
|---|---|---|---|
|
#18+
AnSi_Srне знаю, как в plsql developer в toad запуск compare schemas можно организовать из командной строки с помощью automation designer Отличный freeware-инструмент с лицензией порядка $1500 на одного юзера в полном фарше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2017, 08:47 |
|
||
|
Сравнение двух схем и получение скрипта для синхронизации
|
|||
|---|---|---|---|
|
#18+
Ириска, как-то платные продукты делают нормальные дельты для синхронизации. Естественно перед запуском скрипта смотреть и проверять его. А учитывая, что должен быть еще отчет, то можно и увидеть, где rename превращается в drop/create. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2017, 10:23 |
|
||
|
Сравнение двух схем и получение скрипта для синхронизации
|
|||
|---|---|---|---|
|
#18+
deniska80перед запуском скрипта смотреть и проверять егоВ чем тогда смысл "не через интерфейс а через скрипт"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2017, 10:55 |
|
||
|
Сравнение двух схем и получение скрипта для синхронизации
|
|||
|---|---|---|---|
|
#18+
-2-, Хочется попробовать организовать механизм хранения и ведения версий в гите, чтобы в любой момент можно было получить скрипты для создания и update различных версий БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2017, 11:02 |
|
||
|
Сравнение двух схем и получение скрипта для синхронизации
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2017, 11:26 |
|
||
|
Сравнение двух схем и получение скрипта для синхронизации
|
|||
|---|---|---|---|
|
#18+
deniska80-2-, Хочется попробовать организовать механизм хранения и ведения версий в гите, чтобы в любой момент можно было получить скрипты для создания и update различных версий БД. Создать систему наката версий не так просто Когда я работал на большом проекте, то было сделано следующее: 1) Создана система автоматического наката патчей + два контура автоматического тестирования 2) Требования к патчам строго регламентировались (оформление, реентерабельность, CVS, jira ) 3) Раз в неделю, сервер разработки перезаливался с рабочей системы, все что не оформлено правильным патчем, улетало в трубу. Разработчику профукавшим свои наработки - прописывалась административная клизма. 4) патчи на промышленные системы накатывались только системой автоматического патчинга Были и ручные патчи, с хорошим документированием процесса. документация и накат таких патчей отрабатывался на студентах и девочках-тестировщицах, чтобы собрать максимальное количество граблей перед передачей в регионы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2017, 12:05 |
|
||
|
Сравнение двух схем и получение скрипта для синхронизации
|
|||
|---|---|---|---|
|
#18+
menja_zovut_deniska, Я для сравнения схем использую Oracle SQL Developer (пункт меню Tools\Database Diff...) Так же, он может генерить скрипты после сравнения (кнопка Generate Script) По поводу скриптов, насколько они адекватно генерятся, я не проверял, один раз сгенерировал скрипты из любопытства. Так как мы все скрипты пишим руками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2017, 19:46 |
|
||
|
Сравнение двух схем и получение скрипта для синхронизации
|
|||
|---|---|---|---|
|
#18+
AlexGubinmenja_zovut_deniska, Я для сравнения схем............. упсь, извините, я делал это все через интерфейс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2017, 20:03 |
|
||
|
Сравнение двух схем и получение скрипта для синхронизации
|
|||
|---|---|---|---|
|
#18+
menja_zovut_deniska, попробовать - дело хорошее. Но, даже при самых строгих правилах и самоорганизованных разработчиках ( ха ха) всегда появится хитрый косяк, который автомат пропишет в скрипт не так. По моему опыту, автоматическое сравнение даёт максимум 80% готовых скриптов для патча. Остальное руками с разборкой вместе с девелопером. Кроме того, сравнить две схемы - это не всё. Если у вас несколько схем и они взаимодействуют между собой, сравнение становится ещё веселее. А если добавляем сюда Модель БД (для командной работы и понимания чо-как которая) то сам понимаешь - уже три точки для сравнения. Сам сравниваю Toad-ом, из результатов сравнения использую сам факт расхождения по которому либо сам исправляю скрипты, либо девелоперу косяк отдаю на исправление. + Модель БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2017, 17:05 |
|
||
|
Сравнение двух схем и получение скрипта для синхронизации
|
|||
|---|---|---|---|
|
#18+
menja_zovut_deniska, ...реальный пример: в моём проекте 14 схем данных, все взаимосвязаны. Используется модель БД. Дистрибутив в SVN. Так получилось, что исходный дистрибутив всей системы не проверялся почти год на инсталлируемость и вся команда только коммитила изменения. На исправление расхождений ушло уже 2 недели. Даже на SQL.RU не ходил :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2017, 17:16 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39452354&tid=1885945]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
168ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 251ms |
| total: | 537ms |

| 0 / 0 |
