Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.23;
Скачать: CL | DM;

Вниз

Изменение БД?   Найти похожие ветки 

 
thely   (2007-10-30 16:42) [0]

Подскажите мастера, может кто сталкивался со след. задачей:
Необходимо модернизировать БД Interbase, причем не знаем на каком шаге завершена предыдущая модернизация. Может кто знает статьи на эту тему?


 
Jeer ©   (2007-10-30 16:45) [1]

А что есть в вашем понимания модернизация ?
Моддинг ? :))


 
Reindeer Moss Eater ©   (2007-10-30 16:47) [2]

выполнить все шаги что были


 
thely   (2007-10-30 16:56) [3]

Изменение структуры.


 
Jeer ©   (2007-10-30 17:09) [4]


> thely   (30.10.07 16:56) [3]


А в чем проблема ?
Есть исходная структура, есть желаемая - меняй.


 
Reindeer Moss Eater ©   (2007-10-30 17:25) [5]

причем не знаем на каком шаге завершена предыдущая модернизация

Нормально.
Собираетесь менять структуру, значит имеете доступ к БД даже по записи.
А чтобы прочитать текущую структуру - нужен всего лишь доступ по чтению.
И в чем же у нас трудности?


 
PEAKTOP ©   (2007-10-30 17:41) [6]

IBExpert:MainMenu\Tools\DataBase Compare


 
Ega23 ©   (2007-10-30 18:38) [7]


> Необходимо модернизировать БД Interbase, причем не знаем
> на каком шаге завершена предыдущая модернизация. Может кто
> знает статьи на эту тему?


Для IB - не знаю, может какие особенности есть.
Для MSSQL:
В своё время, когда модель БД более-менее "устаканилась", все последующие телодвижения выполнялись с помощью patch-скрипта. Структура примерно такова:

if COLUMNPROPERTY(OBJECT_ID(N"[ClassEvents]"), "CLSEveNot", "precision") is NULL
begin
Print "Добавить поле ClassEvents.CLSEveNot  - описание события";
ALTER TABLE ClassEvents add CLSEveNot varchar(1000) NOT NULL default "";
end;
go

if not exists (select 1
           from  sysobjects
          where  id = object_id("ModificationTyps")
           and   type = "U")
begin
 
 create table ModificationTyps (
  ModTypCod            int                            not null,
  ModTypNam            varchar(64)                    not null,
  ModTypLab            varchar(64)                    not null,
  ModTypOrd            int                            not null,
  ModTypMsk            tinyint                        not null,
  ModTypNot            varchar(255)                   not null,
  ModTypImg            image                          null,
  constraint PK_MODIFICATIONTYPS primary key  (ModTypCod)
 );
 Print("Table created: ModificationTyps");
end;
go

if not exists (select 1
           from  sysobjects
          where  id = object_id("FieldFrames")
           and   type = "U")
begin
 create table FieldFrames (
  FldFrmCod            int                            not null,
  FldFrmTypCod         int                            null,
  FldFrmNam            varchar(255)                   not null,
  FldFrmLab            varchar(255)                   not null,
  FldFrmNot            varchar(255)                   not null,
  DataSQL              varchar(255)                   not null,
  KeyField             varchar(255)                   not null,
  ListField            varchar(255)                   not null,
  ValueTyp             tinyint                        not null,
  DefaultValue         varchar(255)                   not null,
  OutputSQL            varchar(255)                   not null,
  constraint PK_FIELDFRAMES primary key  (FldFrmCod)
 );
 alter table FieldFrames
    add constraint FK_FIELDFRA_REFERENCE_FIELDFRA foreign key (FldFrmTypCod)
       references FieldFrameTyps (FldFrmTypCod)
 Print("Table created: FieldFrames");  
end;
go

if exists (select 1
           from  sysobjects
          where  id = object_id("dbo.Abonents")
           and   type = "U" and
           (COLUMNPROPERTY(OBJECT_ID(N"[Abonents]"), "AbID", "precision") is not NULL)
           )
  drop table dbo.Abonents
go



и т.д.

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



Страницы: 1 вся ветка

Текущий архив: 2008.03.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.014 c
15-1202479294
Kerk
2008-02-08 17:01
2008.03.23
Возможно буду оригинален


2-1204026234
FishNode
2008-02-26 14:43
2008.03.23
GetTextExtentPoint32


4-1185433986
Dmitry_177
2007-07-26 11:13
2008.03.23
Можно ли какнибудь определить время и период срабатывания таймера


15-1202892081
Ega23
2008-02-13 11:41
2008.03.23
Просьба типа вчерашней


2-1203619274
Антон
2008-02-21 21:41
2008.03.23
выгрузка dll из пямяти