Контроль версионности при работе с FireBird

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
inspirion
Сообщения: 33
Зарегистрирован: 23 фев 2005, 11:32

Контроль версионности при работе с FireBird

Сообщение inspirion » 17 ноя 2006, 19:00

CREATE TABLE ACTION_STATUS (
ID_AS ID NOT NULL,
NAME STRING200,
DESCRIPTION BLOB_INFO,
DATE_RECORD NOW
);
ALTER TABLE ACTION_STATUS ADD CONSTRAINT PK_ACTION_STATUS PRIMARY KEY (ID_AS);

А таблица в базе до изменений выглядела так:
CREATE TABLE ACTION_STATUS (
ID_AS ID NOT NULL,
NAME STRING200,
DATE_RECORD NOW
);
ALTER TABLE ACTION_STATUS ADD CONSTRAINT PK_ACTION_STATUS PRIMARY KEY (ID_AS);

Тоесть в базе А в таблице ACTION_STATUS был столбец DESCRIPTION а в таблице B его небыло, но после обьедения версий в Starteam в скрипте для таблицы В появилась информация об этом столбце.
При попытке выполнить этот скрипт в базе B мы естественно получим ошибку ибо такая таблица уже есть. Так что нужен инструмент который сможет сравнить скрипт таблицы ACTION_STATUS в базе B с файлом-скриптом и выдать на выход строку типа
ALTER TABLE ACTION_STATUS.....
Во собственно и вопрос. Надеюсь доступно описал проблему.
Заранее благодарен за дельные советы.

Ps. Речь идет именно о работе по версионности БД.

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 17 ноя 2006, 19:20

Компарером встроенным в IBExpert.
Либо отдельным компарером http://www.clevercomponents.com/product ... mparer.asp

pastor
Сообщения: 12
Зарегистрирован: 17 мар 2005, 16:27

Сообщение pastor » 21 ноя 2006, 09:27

1) завести в БД номер структуры
2) сделать механизм проверки соответсвия апдейта номеру структуры
3) делать изменения апдейтами

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 21 ноя 2006, 14:32

[quote="pastor"][/quote] :lol: Ему до этого ещё далеко, раз такие вопросы задаёт.

Ответить