Гость
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / IBExpert Сравнение БД / 25 сообщений из 27, страница 1 из 2
25.08.2010, 19:50
    #36811587
Freestyler
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBExpert Сравнение БД
Добрый вечер!

Проблема:
При сравнение БД в редактор скриптов попадают процедуры, которые отличаются только регистром переменных, соответсвенно получаются большие скрипты. Существует ли какие то настройки чтобы убрать этот момент?
Спасибо.
...
Рейтинг: 0 / 0
25.08.2010, 19:54
    #36811589
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBExpert Сравнение БД
Нет. Приведите их один раз к общему знаменателю и проблема исчезнет.
...
Рейтинг: 0 / 0
25.08.2010, 20:04
    #36811606
Freestyler
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBExpert Сравнение БД
Подскажите способ как можно быстро привести. Перекомпилировать все процедуры не помагает. приходится заходить в конкретную процедуру и компилировать тогда регистр становится нужным и в скрипт такая процедура не попадает.
...
Рейтинг: 0 / 0
25.08.2010, 20:07
    #36811612
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBExpert Сравнение БД
А скрипт, который получился в результате сравнения БД, выполнить?
...
Рейтинг: 0 / 0
25.08.2010, 20:12
    #36811621
Freestyler
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBExpert Сравнение БД
Это понятно.
просто иногда присылают базы которые приходится сравнивать с эталоном. у разных пользователей могут быть разные настройки. понятно что можно попытаться решить вопрос организационно но бывают как говорится исключения. и приходится прорабатывать весь скрипт на предмет измененных процедур.
...
Рейтинг: 0 / 0
25.08.2010, 20:24
    #36811627
Утёс
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBExpert Сравнение БД
FreestylerЭто понятно.
просто иногда присылают базы которые приходится сравнивать с эталоном. у разных пользователей могут быть разные настройки. понятно что можно попытаться решить вопрос организационно но бывают как говорится исключения. и приходится прорабатывать весь скрипт на предмет измененных процедур.

стандартизируйте все свои базы, запретите пользователям править метаданные.
обновляйте скрипты версионно. заведите модератора.

бороться надо с причиной.
...
Рейтинг: 0 / 0
26.08.2010, 12:27
    #36812644
WildSery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBExpert Сравнение БД
Freestylerу разных пользователей могут быть разные настройки.Настройки чего? Метаданных?
...
Рейтинг: 0 / 0
26.08.2010, 20:47
    #36814133
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBExpert Сравнение БД
WildSeryFreestylerу разных пользователей могут быть разные настройки.Настройки чего? Метаданных?

Форматирования кода, очевидно.
...
Рейтинг: 0 / 0
27.08.2010, 08:57
    #36814568
WildSery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBExpert Сравнение БД
IBExpertФорматирования кода, очевидно.С одной стороны - оно конечно да.
А с другой - два человека с разными настройками форматирования написали процедуру, идентичную кроме регистра символов?
...
Рейтинг: 0 / 0
31.08.2010, 17:43
    #36821925
Freestyler
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBExpert Сравнение БД
WildSeryIBExpertФорматирования кода, очевидно.С одной стороны - оно конечно да.
А с другой - два человека с разными настройками форматирования написали процедуру, идентичную кроме регистра символов?

Процедура одна и та же различные настройки форматирования затрудняет сравнение БД.
То есть имелась ввиду настройка как например в tortoisemerge:
Игнорировать изменение регистра
...
Рейтинг: 0 / 0
31.08.2010, 17:55
    #36821971
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBExpert Сравнение БД
Freestyler
Процедура одна и та же различные настройки форматирования затрудняет сравнение БД.
То есть имелась ввиду настройка как например в tortoisemerge:
Игнорировать изменение регистра

Ну так отбейте у разработчиков желание или даже возможность править базы на лету. Пусть
правят скрипты создания образцовой БД, которые уже и можно сравнивать с
нечувствительностью к регистру.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
31.08.2010, 18:04
    #36822004
Freestyler
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBExpert Сравнение БД
Dimitry Sibiryakov
Ну так отбейте у разработчиков желание или даже возможность править базы на лету. Пусть
правят скрипты создания образцовой БД, которые уже и можно сравнивать с
нечувствительностью к регистру.


Бывают различные обстоятельства когда это бывает необходимо: тестовый запуск или обкатка какой то версии непосредтсвенно у заказчика (нужно здесь и сразу попробовать)
...
Рейтинг: 0 / 0
31.08.2010, 18:33
    #36822087
WildSery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBExpert Сравнение БД
Freestylerразличные настройки форматирования затрудняет сравнение БД.Я не издеваюсь, я действительно не понимаю, каким образом настройка форматирования затрудняет сравнение одной и той же процедуры.
Нет, я понимаю, что если зайти в процедуру, переформатировать по-своему, скомпилировать, то она начнёт отличаться. Но для чего нужно такое бессмысленное действие и когда оно возникает?
...
Рейтинг: 0 / 0
31.08.2010, 18:44
    #36822115
Freestyler
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBExpert Сравнение БД
WildSeryЯ не издеваюсь, я действительно не понимаю, каким образом настройка форматирования затрудняет сравнение одной и той же процедуры.
Нет, я понимаю, что если зайти в процедуру, переформатировать по-своему, скомпилировать, то она начнёт отличаться. Но для чего нужно такое бессмысленное действие и когда оно возникает?

Например у заказчика правится какой либо алгоритм, отчетность, какая то логика (например 5-10 процедур от которых зависит 100 других процедур и в результате компилирования меняется регистр), . позже в офисе нужно отследить что именно изменилось и подготовить сборку.
...
Рейтинг: 0 / 0
31.08.2010, 18:59
    #36822130
chAlx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBExpert Сравнение БД
Странные наезды: в IBExpert есть великое множество гораздо более замысловатых функций и настроек, чтобы придираться к возможности регистронезависимого сравнения. Понятно, что его не реализовать в 5 минут и забесплатно это кому-то может быть неинтересно ;), но это не повод доказывать, что оно "заказчику" и не нужно.
...
Рейтинг: 0 / 0
31.08.2010, 19:03
    #36822134
WildSery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBExpert Сравнение БД
Freestylerот которых зависит 100 других процедур и в результате компилирования меняется регистрА почему у меня не меняется?
...
Рейтинг: 0 / 0
31.08.2010, 19:07
    #36822142
chAlx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBExpert Сравнение БД
ПС: Пример, как такое появляется:

Есть рабочие базы. Есть разработчики, работающие с ними. У каждого разработчика есть IBExpert со своими настройками.
Задача писать всё в одинаковом регистре никогда не ставилась, т.к. бизнесу нужно не это. Соответственно, бывают расхождения, когда один человек создаёт процедуру, а другой через пару лет её меняет.
...
Рейтинг: 0 / 0
31.08.2010, 19:09
    #36822147
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBExpert Сравнение БД
Freestyler
Например у заказчика правится какой либо алгоритм, отчетность, какая то логика (например 5-10 процедур от которых зависит 100 других процедур и в результате компилирования меняется регистр), . позже в офисе нужно отследить что именно изменилось и подготовить сборку.

Что-то я запутался уже... Объясни на простом пошаговом примере, как в базах получаются процедуры, которые отличаются только регистром имен переменных и больше ничем? При перекомпиляции регистр изменяться не должен.
...
Рейтинг: 0 / 0
31.08.2010, 22:08
    #36822436
Freestyler
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBExpert Сравнение БД
IBExpert
Что-то я запутался уже... Объясни на простом пошаговом примере, как в базах получаются процедуры, которые отличаются только регистром имен переменных и больше ничем? При перекомпиляции регистр изменяться не должен.

насколько я понимаю получается это из за различных настроек code format options тогда приходится уже делать Format code

иногда возникает ситуация когда настройки форматирования одинаковые и не понятно почему отличается регистр (возможно из за того что правили процедуры в разных программах например IBConsole)
тогда просто делаешь компиляцию конкретной процедуры и переменные становятся такими же как во всех процедурах
...
Рейтинг: 0 / 0
01.09.2010, 02:26
    #36822663
mv
mv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBExpert Сравнение БД
Freestyler, напишите свой плагин к IBExpert, который бы перед сравнением выполнял "нормализацию" скриптов процедур/триггеров.
...
Рейтинг: 0 / 0
01.09.2010, 20:23
    #36824687
Alex Truhin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBExpert Сравнение БД
Мои три копейки!
Когда то давно задавал вопрос по сравнению, но касаемо не регистра, а пробелов, бывает ситуация: обнаружен баг у клиента, поправлен, дальше данный баг внесен в скрипт. На каком то этапе производим сравнение, и компарер вываливает скрипт на несколько тысяч строк (компарер по умолчанию перестраховывается по зависимостям и кидает в скрипт массу не нужного), после получаса разбора выясняем, что разница в 1-2 пробелах. Из за этого у нас написана небольшая утилита сравнения процедур и представлений не зависимо от регистра и пробелов (не совсем не зависимо, но близко к тому), костыль но рабочий.
PS. Кстати, пока не сделали свой костыль, лично мне, больше всего не хватало в IBExpert - простого сравнения баз данных, без построения скрипта, просто вывод списка отличающихся объектов, но без учета регистра и пробелов. При поддержке кучи БД, разных версий, просто необходимая вещь.
...
Рейтинг: 0 / 0
01.09.2010, 21:31
    #36824735
miwaonline
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBExpert Сравнение БД
Alex TruhinPS. Кстати, пока не сделали свой костыль, лично мне, больше всего не хватало в IBExpert - простого сравнения баз данных, без построения скрипта, просто вывод списка отличающихся объектов, но без учета регистра и пробелов. При поддержке кучи БД, разных версий, просто необходимая вещь.

Кстати, да. Иногда банальная замена плюса на минус (например) по зависимостям тянет за собой скрипт на десяток килобайт и вышеупомянутого костыля таки не хватает. Помогает связка tr + diff из линуксовой консоли, но все же это не то.
...
Рейтинг: 0 / 0
01.09.2010, 21:41
    #36824743
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBExpert Сравнение БД
miwaonline
Кстати, да. Иногда банальная замена плюса на минус (например) по зависимостям тянет за собой скрипт на десяток килобайт

Это нифига не банальная замена.
...
Рейтинг: 0 / 0
01.09.2010, 21:50
    #36824753
miwaonline
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBExpert Сравнение БД
IBExpertmiwaonline
Кстати, да. Иногда банальная замена плюса на минус (например) по зависимостям тянет за собой скрипт на десяток килобайт

Это нифига не банальная замена.

Я имел в виду количество символов относительно (возможного) результирующего скрипта. Безусловно, что это ни разу не упрек в сторону возможностей IBExpert'a - скорее просто мысль вслух, чего не хватает.
...
Рейтинг: 0 / 0
02.09.2010, 09:22
    #36825045
Dimano
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBExpert Сравнение БД
+1 к сравнению без учёта регистра, пробелов, пустых строк, комментариев и зависимостей.
...
Рейтинг: 0 / 0
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / IBExpert Сравнение БД / 25 сообщений из 27, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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