Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ASA, пишу прогу синхронизации структур 2-х баз - проблема
|
|||
|---|---|---|---|
|
#18+
Задача написать прогу для генерации скрипта апгрейда структуры одной базы до другой, при условии, что первая это клиентские БД, вторая - девелоперская, т.е. облегчить процедуру апгрейда, автоматизировав подготовку SQL скрипта. Столкнулся с проблемой. При синхронизации колонок существующих таблиц не знаю как поступить. Хотел сначала привязаться к column_id - не получается, колонку могут создать в девелоперской БД, потом грохнуть, column_id уплывет, в принципе можно решить проблему вставляя и удаляя колонки в клиентской БД, пока column_id не уравняются, но колонку могут добавить напрямую в клиентскую БД (по разным причинам, по шибке например), потом удалить, тут уже непонятно как добиться синхронизации. Хотел потом по имени колонки, тоже проблема, как понять был ли RENAME сделан для колонки или сначала DROP, а потом ADD column ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 18:37 |
|
||
|
ASA, пишу прогу синхронизации структур 2-х баз - проблема
|
|||
|---|---|---|---|
|
#18+
ВСЕ изменения структуры базы надо делать через внешние sql скрипты. Тогда и возиться со сравнением структур не понадобится. --- http://www.rusug.ru] Портал русскоязычной группы пользователей Sybase ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 18:47 |
|
||
|
ASA, пишу прогу синхронизации структур 2-х баз - проблема
|
|||
|---|---|---|---|
|
#18+
IMHO - безнадежная затея, гораздо эффективнее навести порядок в девелопменте, чтобы кто попало и как попало структуру не изменял. Тогда и сравнение не понадобится, а если и понадобится - то исключительно в варианте "проверить идентичность схем", то никак ни в режиме "привести схему 1 к схеме 2". Офф: Для более известных СУБД действительно существуют подобные утилиты (например функция "Compare databases" в PL/SQL Developer для Oracle). Однако и там утилита лишь сверяет структуру, и предлагает апгрейдящий схему скрипт, который обычно требует дальнейшей рихтовки руками из-за наличия данных, необходимости учета констрэйнтов, и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 19:00 |
|
||
|
ASA, пишу прогу синхронизации структур 2-х баз - проблема
|
|||
|---|---|---|---|
|
#18+
[quot White Owl]ВСЕ изменения структуры базы надо делать через внешние sql скрипты. Тогда и возиться со сравнением структур не понадобится. quot] Ну понятно, что не сразу структуры уравнивать, конечно скрипт будет формироваться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 09:10 |
|
||
|
ASA, пишу прогу синхронизации структур 2-х баз - проблема
|
|||
|---|---|---|---|
|
#18+
A.K.IMHO - безнадежная затея, гораздо эффективнее навести порядок в девелопменте, чтобы кто попало и как попало структуру не изменял. Тогда и сравнение не понадобится, а если и понадобится - то исключительно в варианте "проверить идентичность схем", то никак ни в режиме "привести схему 1 к схеме 2". Когда-то давно еще формировали скрипт просто руками, при увеличении числа разработчиков, стало все больше и больше ошибок, не все то, что попадало в девелоперскую БД попадало в скрипт, потом стали парсить лог транзакций девелоперской БД, в принципе ситуация вроде улучшилась, он сам процесс не очень удобный, да и если 100 раз процедуру поправили, она 100 раз и попадет в скрипт, вот решили сравниловку сделать, с выдачей результирующего скрипта A.K.Офф: Для более известных СУБД действительно существуют подобные утилиты (например функция "Compare databases" в PL/SQL Developer для Oracle). Однако и там утилита лишь сверяет структуру, и предлагает апгрейдящий схему скрипт, который обычно требует дальнейшей рихтовки руками из-за наличия данных, необходимости учета констрэйнтов, и т.п. ну тоже самое и задумано ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 09:15 |
|
||
|
ASA, пишу прогу синхронизации структур 2-х баз - проблема
|
|||
|---|---|---|---|
|
#18+
я для этих целей использую log файл на определенной точке обрезаю лог делаются изменения потом парсится log и из него вытаскиваются все изменения структуры таблиц скрипт писал сам на перле еще в форуме пробегала хранима продцедура которая парсит лог ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 11:08 |
|
||
|
ASA, пишу прогу синхронизации структур 2-х баз - проблема
|
|||
|---|---|---|---|
|
#18+
pandя для этих целей использую log файл на определенной точке обрезаю лог делаются изменения потом парсится log и из него вытаскиваются все изменения структуры таблиц скрипт писал сам на перле еще в форуме пробегала хранима продцедура которая парсит лог ну сейчас тоже самое у нас, но не очень удобно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 11:51 |
|
||
|
ASA, пишу прогу синхронизации структур 2-х баз - проблема
|
|||
|---|---|---|---|
|
#18+
VovakaКогда-то давно еще формировали скрипт просто руками, при увеличении числа разработчиков, стало все больше и больше ошибок, не все то, что попадало в девелоперскую БД попадало в скрипт... Вот поэтому я и говорю - бардак. А у вас что - все разработчики имеют право изменять схему БД, ни у кого не спрашивая? IMHO рядовой разработчик не должен иметь таких широких прав. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 12:18 |
|
||
|
ASA, пишу прогу синхронизации структур 2-х баз - проблема
|
|||
|---|---|---|---|
|
#18+
а если unload обе базы и сравнить построчно? В принципе должно совпасть, если структура одинакова. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 13:21 |
|
||
|
ASA, пишу прогу синхронизации структур 2-х баз - проблема
|
|||
|---|---|---|---|
|
#18+
A.K.А у вас что - все разработчики имеют право изменять схему БД, ни у кого не спрашивая? IMHO рядовой разработчик не должен иметь таких широких прав. Разработчики да, на то они и разработчики ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 15:05 |
|
||
|
ASA, пишу прогу синхронизации структур 2-х баз - проблема
|
|||
|---|---|---|---|
|
#18+
old_joyа если unload обе базы и сравнить построчно? В принципе должно совпасть, если структура одинакова. Была такая мысль когда-то, но тут только различия найдутся, а скрипт все равно кому-то делать Только найти различия двух баз по системным таблицам значительно проще чем делать анлоуды и сравнивать файлы ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 15:08 |
|
||
|
ASA, пишу прогу синхронизации структур 2-х баз - проблема
|
|||
|---|---|---|---|
|
#18+
Ладно, если что получится - напишу потом, озвученную проблему в принципе решил более менее Будет некая секция команд, требующая проверки ответственного лица, подобные спорные ситуации будут попадать в нее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 15:10 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=34487691&tid=2012129]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
35ms |
get topic data: |
7ms |
get forum data: |
1ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 309ms |

| 0 / 0 |
