Страница 1 из 1

Получение скриптов готовых объектов

Добавлено: 14 сен 2008, 20:11
Корвин
Помогите получить от существующей базы скрипт создания объекта как это позволяет IBExpert.
Например, в базе есть таблица KLIENT и вышеупомянутый IBExpert выводит:

Код: Выделить всё

CREATE TABLE KLIENT (
    ID            INTEGER NOT NULL,
    NAME          VARCHAR(50),
);

ALTER TABLE KLIENT ADD CONSTRAINT PK_KLIENT PRIMARY KEY (ID);

/* Trigger: KLIENT_BI0 */
CREATE TRIGGER KLIENT_BI0 FOR KLIENT
ACTIVE BEFORE INSERT POSITION 0
AS
begin
  if (new.ID is NULL) then new.ID=GEN_ID(G_KLIENT, 1);
end
То же самое касательно тригеров, виевов, генераторов и процедур.

P.S.
Прошу прощения если неверно определил раздел для вопроса (это сложновато).

Re: Получение скриптов готовых объектов

Добавлено: 14 сен 2008, 23:11
kdv
http://www.ibase.ru/devinfo/ibx.htm#ibextract

нужно только учесть, что в этой части IBX поддерживает только InterBase. Но есть исходники IBX .

Re: Получение скриптов готовых объектов

Добавлено: 15 сен 2008, 21:27
dimitr
а чем isql -x не устраивает?

Re: Получение скриптов готовых объектов

Добавлено: 16 сен 2008, 09:14
Tonal
А им уже можно получить восстановимый скрипт базы?
Я когда последний раз пытался - не получилось. Пришлось назад на IBEScript откатываться.

Re: Получение скриптов готовых объектов

Добавлено: 16 сен 2008, 10:41
kdv
А им уже можно получить восстановимый скрипт базы?
Я когда последний раз пытался - не получилось.
не представляю, как можно из isql получить скрипт, который "невосстановим".

Re: Получение скриптов готовых объектов

Добавлено: 16 сен 2008, 12:00
dimitr
пример базы в студию. В смысле, в трекер :-)

Re: Получение скриптов готовых объектов

Добавлено: 17 сен 2008, 12:38
Tonal
Как минимум, тогда наткнулся на вот это:
http://tracker.firebirdsql.org/browse/CORE-1394
http://tracker.firebirdsql.org/browse/CORE-915

Оповестил всех в рассылке и проголосовал.
Может ещё что-то было - не помню...

А вспомнил - для индексов с обратной сортировкой направление сортировки не указывалось - это поправили. :-)

Re: Получение скриптов готовых объектов

Добавлено: 17 сен 2008, 14:34
WildSery
Уж про CORE-915 постеснялся бы упоминать ;)
Да, недочёт, но до невосстановимости как-то с трудом...

Re: Получение скриптов готовых объектов

Добавлено: 17 сен 2008, 17:20
kdv
CORE-1394
за использование ссылок в доменах на любое кроме udf надо отлучать от программирования, принудительно.
Кстати, таким способом можно наплодить циклических ссылок элементарно. И как тогда isql должен выкручиваться?
create table пустую, а потом alter table add column ?

CORE-915 это вообще пипец. Была б моя воля, я бы удавил тех, кто считает команду CR эквивалентом CR+LF.
Сэкономили байт, юниксоиды. Теперь кушайте.
CR - это перевод каретки с конца строки в начало строки. Т.е. эквивалент нажатию кнопки Home.
LF - это перевод каретки на одну строку вниз, на той же позиции печати.
Поэтому переход в начало следующей строки - это только CR+LF и никак иначе. :evil:

Re: Получение скриптов готовых объектов

Добавлено: 18 сен 2008, 08:39
Tonal
Про CORE-1394 - тем не менее, проблема есть.
И либо сервер не должен допускать создание таких ссылок, либо утилиты должны правильно их разруливать.

CORE-915 - это явным образом недоработка утилиты.
Невосстановимость тут не появляется, а появляется некорректность восстановления из скрипта при использовании многострочных литералов.
Хорошо, что у меня это не используется.
Но у меня сейчас есть база, в которой исходники половины триггеров после isql -x имеют окончания строк CR+CR+LF.
А вот IBEScript или IBExpert генерят скрипт с неё совершенно нормально.

Короче isql -x оставляет после использования ощущение недоделанности. :(