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

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

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

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

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

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

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

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

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

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


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