|
Автоматизировать сравнение баз
|
|||
---|---|---|---|
#18+
Сейчас при подготовке инсталляционной базы у меня выполняются следующие действия 1. Сравниваются метаданные и формируется скрипт 2. Сравниваются данные двух таблиц и полученный скрипт добавляется к основному 3. В начало и конец общего скрипта добавляется вызов двух процедур Хочется все это автоматизировать и перевести на IBEBLOCK. Чего не хватает 1. Т.к. у меня в скрипте есть своя шапка, то хочется добавить опцию AppendMode в функцию ibec_CompareMetadata 2. В функции ibec_CompareMetadata и ibec_CompareTables добавить опцию, которая будет отключать добавление оператора CONNECT в скрипт. Это основное. И две мелких хотелки 1. Узнавать когда каждая из функций не нашла отличий 2. Подгрузить файл в SQL Executot И вопрос. ibec_CompareTables позволяет указать выражение WHERE. Правильно ли я понимаю, что это возможно только при сравнении одной таблицы? Или можно указать к какой таблице это выражение относится? С уважением, Vasilisk ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2020, 19:40 |
|
Автоматизировать сравнение баз
|
|||
---|---|---|---|
#18+
_Vasilisk_ И вопрос. ibec_CompareTables позволяет указать выражение WHERE. Правильно ли я понимаю, что это возможно только при сравнении одной таблицы? Или можно указать к какой таблице это выражение относится? Это выражение будет применено ко всем таблицам в списке. По остальному - позже. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2020, 07:24 |
|
Автоматизировать сравнение баз
|
|||
---|---|---|---|
#18+
_Vasilisk_ Чего не хватает 1. Т.к. у меня в скрипте есть своя шапка, то хочется добавить опцию AppendMode в функцию ibec_CompareMetadata Не вижу в этом необходимости. После сравнения грузишь получившийся скрипт в переменную (ibec_LoadFromFile) и затем сохраняешь ее в файл со своей шапкой (ibec_SaveToFile с флагом __stfAppend). Или просто INPUT <файл скрипта> к своей шапке дописываешь. _Vasilisk_ 2. В функции ibec_CompareMetadata и ibec_CompareTables добавить опцию, которая будет отключать добавление оператора CONNECT в скрипт. Это можно. В следующей версии опция NoConnect. _Vasilisk_ Это основное. И две мелких хотелки 1. Узнавать когда каждая из функций не нашла отличий Думаю, тоже можно. _Vasilisk_ 2. Подгрузить файл в SQL Executot Ничего не понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2020, 18:21 |
|
Автоматизировать сравнение баз
|
|||
---|---|---|---|
#18+
IBExpert _Vasilisk_1. Т.к. у меня в скрипте есть своя шапка, то хочется добавить опцию AppendMode в функцию ibec_CompareMetadata IBExpert _Vasilisk_2. Подгрузить файл в SQL Executot ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2020, 19:02 |
|
Автоматизировать сравнение баз
|
|||
---|---|---|---|
#18+
_Vasilisk_ Файл сохраняется на диске. Хочется избежать ручных манипуляций Script Executive -> Load from file, а чтобы он сразу подгружался в новое окно Script Executive. Это делается секретной командой Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2020, 04:45 |
|
Автоматизировать сравнение баз
|
|||
---|---|---|---|
#18+
В свежей версии: 1. Чтобы получить скрипт без CONNECT и связанных с ним SET, указать NoConnect в строке опций. 2. Для ibec_CompareMetadata указать в строке опций Return=ActionCount - функция вернет число операторов CREATE/ALTER/DROP и т.д. в скрипте сравнения. Всякие SET, COMMIT и иже с ними не считаются. Если различий нет, то должна вернуть 0. 3. Для ibec_CompareTables указать в строке опций Return=DiffCount - функция вернет общее количество различающихся записей. Особо не тестил. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2020, 05:53 |
|
Автоматизировать сравнение баз
|
|||
---|---|---|---|
#18+
IBExpert Это делается секретной командой IBExpert В свежей версии: AppendMode таки не прикрутил IBExpert Особо не тестил. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2020, 15:36 |
|
Автоматизировать сравнение баз
|
|||
---|---|---|---|
#18+
_Vasilisk_ AppendMode таки не прикрутил Да, я тоже лентяй. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2020, 16:29 |
|
Автоматизировать сравнение баз
|
|||
---|---|---|---|
#18+
IBExpert Да, я тоже лентяй. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 16:07 |
|
Автоматизировать сравнение баз
|
|||
---|---|---|---|
#18+
Какая-то беда Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43.
ibec_ShowMessage('1'); срабатывает, а потомAccess violation at address 00542739 in module 'IBExpert.exe'. Read of address 000000B0по отдельности вызовы работают. Таблица INTERNAL_CFGS в обоих базах идентичны. По метаданным есть различия в процедурах ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 17:20 |
|
Автоматизировать сравнение баз
|
|||
---|---|---|---|
#18+
_Vasilisk_ Какая-то беда ibec_CompareMetadata коннекты закрывала по окончании работы. Исправил. А вот скажи, ты это всерьез в один скрипт и результаты сравнения метаданных, и результаты сравнения данных собираешься пихать? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2020, 05:06 |
|
Автоматизировать сравнение баз
|
|||
---|---|---|---|
#18+
IBExpert Исправил. IBExpert А вот скажи, ты это всерьез в один скрипт и результаты сравнения метаданных, и результаты сравнения данных собираешься пихать? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2020, 11:57 |
|
Автоматизировать сравнение баз
|
|||
---|---|---|---|
#18+
_Vasilisk_ А в чем проблема? У меня есть две таблицы, обеспечивающие работу приложения. В одной хранятся SQL запросы, в другой локализация. Данные в этих таблицах клиент не изменяет никогда В таком сценарии проблем не видно. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2020, 13:26 |
|
Автоматизировать сравнение баз
|
|||
---|---|---|---|
#18+
_Vasilisk_ ibec_SaveToFile поддерживает Append, ibec_CompareTables тоже. Ну одну функцию допилить Иногда проще допилить...:) Допилил. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2020, 14:01 |
|
|
start [/forum/topic.php?fid=42&fpage=7&tid=1598642]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 263ms |
total: | 385ms |
0 / 0 |