We use an external data dictionary - actually just an ini file containing
all field and index defs and a flag to signal if something has changed.

Every app has code to check this flag and if set compare tables and
restructure/index/copy data as appropriate.

Updates - easy, just send out a new ini file with the update flag set.

Some apps don't even need tables for distribution as it will create them.

This is for Paradox/dBase/DBIsam etc, but parts could be adapted for IB.

Steve


> -----Original Message-----
> From: Donovan J. Edye [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, 3 February 2000 10:14
> To: Multiple recipients of list delphi
> Subject: RE: [DUG]: Interbase Error : What am I missing here???
> (Interbase Newbie)
> 
> 
> M,
> 
> > reads the Paradox tables in and creates a .PAS file that will
> > re-create the entire database structure.
> 
> Yeah we do something similair. We have the definitions for 
> the database hard
> coded into the app. We then have a specialised TTable 
> descendent that uses
> these definitions to maintain table structure and it also 
> does all the other
> bits and pieces like table & index validation. This way we 
> can be assured
> that the tables are in a consistent state in terms of what the app is
> expecting and that their integrity is valid.
> 
> Obviously this is not foolproof as you could lose data if 
> someone has v2 and
> then goes back to a v1 exe. Also if there are some default 
> values for newly
> created fields then that has to be addressed as well. However 
> this does the
> trick most of the time.
> 
> > (not looking forward to moving up to client/server ... any ideas?)
> 
> This would boild down to some scripts for all the DD stuff I 
> would guess.
> Then it was a case of using either a built in data transfer 
> mechanism of the
> DBMS or something external like DataPump.....
> 
> --------------------------------------------------------------
> ----------
> --Donovan
> Donovan J. Edye [www.edye.wattle.id.au]
> Namadgi Systems, Delphi Developer
> Web: www.namsys.com.au E-Mail: [EMAIL PROTECTED]
> Voice: +61 2 6285-3460 Fax: +61 2 6285-3459
> TVisualBasic = Class(None);
> --------------------------------------------------------------
> ----------
> 
> 
> > -----Original Message-----
> > From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED]]On
> > Behalf Of Mike Mueller
> > Sent: Thursday, 3 February 2000 07:36
> > To: Multiple recipients of list delphi
> > Subject: RE: [DUG]: Interbase Error : What am I missing here???
> > (Interbase Newbie)
> >
> >
> > my 2c:
> >
> > We version our database structure and use a program called 
> "Scanner" that
> > reads the Paradox tables in and creates a .PAS file that will
> > re-create the
> > entire database structure.
> >
> > When the user's database needs to be upgraded the data is 
> backed up to a
> > .backup file, the entire database is recreated, and the data is
> > loaded back
> > from the .backup file.
> >
> > This probably doesn't apply to Interbase and so on, where 
> you would use
> > scripts instead of BDE calls to create the structure, but perhaps
> > this gives
> > you some ideas.  We can't do it manually because our 
> product is sold in
> > quantity all around the world & it has to be able to be set up by
> > 'dummies'
> > (not looking forward to moving up to client/server ... any ideas?)
> >
> > This should be the address for the Scanner program...
> > http://www.gold.com.br/~demian/
> >
> > > -----Original Message-----
> > > From: [EMAIL PROTECTED] 
[mailto:[EMAIL PROTECTED]]On
> > Behalf Of Dennis Chuah
> > Sent: Thursday, February 03, 2000 9:14 AM
> > To: Multiple recipients of list delphi
> > Subject: RE: [DUG]: Interbase Error : What am I missing here???
> > (Interbase Newbie)
> >
> >
> > > >Question: What do you do when you have a new release and the
> > > new version
> > > >requires 3 new fields in table XYZ and a new trigger on table ABC?
> > >
> > > I generally do the change on a development database, then run
> > > it as a script on the
> > > live system when I have it all working. OTOH, I generally
> > > dont change a working
> > > database - if I need stuff between releases, I usually have
> > > so many other changes to
> > > make, I have to port the data over by hand (or try and use
> > > the data pump), rather
> > > than just make changes.
> >
> > What if you have more than one client - like several dozen?  What
> > do you do
> > then?  Will you still use scripts?  Or a data pump?  If you don't use
> > scripts then, why?
> >
> > Regards,
> > Dennis.
> >
> > ------------------------------------------------------------------
> > ---------
> >     New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
> >                   Website: http://www.delphi.org.nz
>
> ------------------------------------------------------------------
> ---------
>     New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
>                   Website: http://www.delphi.org.nz
>

---------------------------------------------------------------------------
    New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
                  Website: http://www.delphi.org.nz
---------------------------------------------------------------------------
    New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
                  Website: http://www.delphi.org.nz

Reply via email to