Script e atualização do Banco

Firebird

23/09/2004

Boa noite pessoal!

Bom, estou em dúvidas em como proceder com a atualização de um sistema desenvolvido em Delphi e Interbase, ambos versão 7. Quando falo em atualização, quero dizer atualização do Banco. Por exemplo (hipotético), tenho uma tabela chamada TESTE, com os campos CODIGO INTEGER NOT NULL e NOME VARCHAR(5) NOT NULL, e preciso incluir mais dois campos TESTE1 e TESTE2, ambos INTEGER NOT NULL e alterar o tipo do campo NOME para VARCHAR(45).
Qual a melhor maneira de fazer o controle? Guardando o schema do Banco por versões do aplicativo? Existe algum software que faça isso?

Att.


Michaell

Michaell

Curtidas 0

Respostas

Fsflorencio

Fsflorencio

23/09/2004

Olá Michael,

O que faço é o seguinte:

O sistema tem que ter a capacidade de rodar scripts sql.

Junto com os arquivos sql coloco um arquivo chamado versao.ver, contendo a versão, ex: ´1.0.3´.

Após rodar os scripts ele lê este arquivo versao.ver e grava no campo rdb$description da tabela de sistema rdb$database que é do tipo blob.

Então toda vez que vou mandar um script para algum cliente pergunto:
Qual a versão que aparece na tela do seu programa? (o sistema tem que carregar o conteúdo do campo rdb$description no sistema)
Então eu preparo os scripts junto com o arquivo de versão e mando o kra rodar.

O pior que pode acontecer é ele rodar os scripts com os usuários conectados ocorrendo falhas do tipo ´esta tabela está em uso´. Aí vc deve fazer um script reparador, mas o ideal é evitar que os usuários estejam conectados.

Desta maneira tenho o controle da versão do sistema e da versão do Banco de Dados.

[]´s


GOSTEI 0
Gandalf.nho

Gandalf.nho

23/09/2004

Qual a paleta de componentes que você usa para acessar o banco? Se for IBX, existe o componente IBScript que poderá usar para rodar seus scripts.


GOSTEI 0
POSTAR