Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASA, пишу прогу синхронизации структур 2-х баз - проблема / 12 сообщений из 12, страница 1 из 1
25.04.2007, 18:37
    #34487621
Vovaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA, пишу прогу синхронизации структур 2-х баз - проблема
Задача написать прогу для генерации скрипта апгрейда структуры одной базы до другой, при условии, что первая это клиентские БД, вторая - девелоперская, т.е. облегчить процедуру апгрейда, автоматизировав подготовку SQL скрипта. Столкнулся с проблемой.
При синхронизации колонок существующих таблиц не знаю как поступить. Хотел сначала привязаться к column_id - не получается, колонку могут создать в девелоперской БД, потом грохнуть, column_id уплывет, в принципе можно решить проблему вставляя и удаляя колонки в клиентской БД, пока column_id не уравняются, но колонку могут добавить напрямую в клиентскую БД (по разным причинам, по шибке например), потом удалить, тут уже непонятно как добиться синхронизации. Хотел потом по имени колонки, тоже проблема, как понять был ли RENAME сделан для колонки или сначала DROP, а потом ADD column ...
...
Рейтинг: 0 / 0
25.04.2007, 18:47
    #34487651
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA, пишу прогу синхронизации структур 2-х баз - проблема
ВСЕ изменения структуры базы надо делать через внешние sql скрипты. Тогда и возиться со сравнением структур не понадобится.

---
http://www.rusug.ru] Портал русскоязычной группы пользователей Sybase
...
Рейтинг: 0 / 0
25.04.2007, 19:00
    #34487691
A.K.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA, пишу прогу синхронизации структур 2-х баз - проблема
IMHO - безнадежная затея, гораздо эффективнее навести порядок в девелопменте, чтобы кто попало и как попало структуру не изменял. Тогда и сравнение не понадобится, а если и понадобится - то исключительно в варианте "проверить идентичность схем", то никак ни в режиме "привести схему 1 к схеме 2".

Офф: Для более известных СУБД действительно существуют подобные утилиты (например функция "Compare databases" в PL/SQL Developer для Oracle). Однако и там утилита лишь сверяет структуру, и предлагает апгрейдящий схему скрипт, который обычно требует дальнейшей рихтовки руками из-за наличия данных, необходимости учета констрэйнтов, и т.п.
...
Рейтинг: 0 / 0
26.04.2007, 09:10
    #34488497
Vovaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA, пишу прогу синхронизации структур 2-х баз - проблема
[quot White Owl]ВСЕ изменения структуры базы надо делать через внешние sql скрипты. Тогда и возиться со сравнением структур не понадобится.
quot]

Ну понятно, что не сразу структуры уравнивать, конечно скрипт будет формироваться
...
Рейтинг: 0 / 0
26.04.2007, 09:15
    #34488505
Vovaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA, пишу прогу синхронизации структур 2-х баз - проблема
A.K.IMHO - безнадежная затея, гораздо эффективнее навести порядок в девелопменте, чтобы кто попало и как попало структуру не изменял. Тогда и сравнение не понадобится, а если и понадобится - то исключительно в варианте "проверить идентичность схем", то никак ни в режиме "привести схему 1 к схеме 2".

Когда-то давно еще формировали скрипт просто руками, при увеличении числа разработчиков, стало все больше и больше ошибок, не все то, что попадало в девелоперскую БД попадало в скрипт, потом стали парсить лог транзакций девелоперской БД, в принципе ситуация вроде улучшилась, он сам процесс не очень удобный, да и если 100 раз процедуру поправили, она 100 раз и попадет в скрипт, вот решили сравниловку сделать, с выдачей результирующего скрипта

A.K.Офф: Для более известных СУБД действительно существуют подобные утилиты (например функция "Compare databases" в PL/SQL Developer для Oracle). Однако и там утилита лишь сверяет структуру, и предлагает апгрейдящий схему скрипт, который обычно требует дальнейшей рихтовки руками из-за наличия данных, необходимости учета констрэйнтов, и т.п.

ну тоже самое и задумано
...
Рейтинг: 0 / 0
26.04.2007, 11:08
    #34488911
pand
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA, пишу прогу синхронизации структур 2-х баз - проблема
я для этих целей использую log файл
на определенной точке обрезаю лог
делаются изменения
потом парсится log и из него вытаскиваются все изменения структуры таблиц
скрипт писал сам на перле еще в форуме пробегала хранима продцедура которая парсит лог
...
Рейтинг: 0 / 0
26.04.2007, 11:51
    #34489125
Vovaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA, пишу прогу синхронизации структур 2-х баз - проблема
pandя для этих целей использую log файл
на определенной точке обрезаю лог
делаются изменения
потом парсится log и из него вытаскиваются все изменения структуры таблиц
скрипт писал сам на перле еще в форуме пробегала хранима продцедура которая парсит лог

ну сейчас тоже самое у нас, но не очень удобно
...
Рейтинг: 0 / 0
26.04.2007, 12:18
    #34489248
A.K.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA, пишу прогу синхронизации структур 2-х баз - проблема
VovakaКогда-то давно еще формировали скрипт просто руками, при увеличении числа разработчиков, стало все больше и больше ошибок, не все то, что попадало в девелоперскую БД попадало в скрипт...
Вот поэтому я и говорю - бардак. А у вас что - все разработчики имеют право изменять схему БД, ни у кого не спрашивая? IMHO рядовой разработчик не должен иметь таких широких прав.
...
Рейтинг: 0 / 0
26.04.2007, 13:21
    #34489540
old_joy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA, пишу прогу синхронизации структур 2-х баз - проблема
а если unload обе базы и сравнить построчно? В принципе должно совпасть, если структура одинакова.
...
Рейтинг: 0 / 0
26.04.2007, 15:05
    #34490094
Vovaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA, пишу прогу синхронизации структур 2-х баз - проблема
A.K.А у вас что - все разработчики имеют право изменять схему БД, ни у кого не спрашивая? IMHO рядовой разработчик не должен иметь таких широких прав.

Разработчики да, на то они и разработчики ...
...
Рейтинг: 0 / 0
26.04.2007, 15:08
    #34490105
Vovaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA, пишу прогу синхронизации структур 2-х баз - проблема
old_joyа если unload обе базы и сравнить построчно? В принципе должно совпасть, если структура одинакова.

Была такая мысль когда-то, но тут только различия найдутся, а скрипт все равно кому-то делать
Только найти различия двух баз по системным таблицам значительно проще чем делать анлоуды и сравнивать файлы ...
...
Рейтинг: 0 / 0
26.04.2007, 15:10
    #34490116
Vovaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA, пишу прогу синхронизации структур 2-х баз - проблема
Ладно, если что получится - напишу потом, озвученную проблему в принципе решил более менее
Будет некая секция команд, требующая проверки ответственного лица, подобные спорные ситуации будут попадать в нее
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASA, пишу прогу синхронизации структур 2-х баз - проблема / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]