Como manter a estrutura do banco de dados atualizada?

PostgreSQL

Delphi

12/06/2015

Boa tarde pessoal, estou utilizando Delphi XE7, FireDac e postgres,
Desenvolvi toda a a plicação, agora estou nos "finalmentes" e preciso bolar alguma forma de atualizar a estrutura do banco de dados conforme vou a atualizando e lançando atualizações para o sistema.
Alguém tem uma ideia de como posso fazer isso?
Fundeste Sc

Fundeste Sc

Curtidas 0

Melhor post

Cauê Nishijima

Cauê Nishijima

16/06/2015

Aqui na empresa desenvolvi um sistema que faz a atualização da base de dados automaticamente, porém pra MySql, ele analisa a base que vc desejas (e que vc considera a certa), e então cria uma especie de backup.
Ai no cliente executo o programa passando como parametro o backup feito, ele analisa as diferenças do backup pra base de dados instalada e cria e exeuta um script pra atualização da base.

Atualmente ele faz a verificação de inclusão e/ou exclusão de tabelas, inclusão/exclusão de fields, alteração do type de um field inclusive se é chave primaria, not null, unique, etc.
Views, Procedures e Trigger tbm apesar de não ser muito essencial já que é só excluir e restaurar do backup.

Pelo que me lembre uma das coisas que esta faltando no sistema é fazer a consistência das chaves estrangeiras. E tbm tem o problema de que se uma tabela ou coluna é renomeada ele não entende assim, para o sistema, a coluna/tabela foi excluida e criada uma nova(podendo ocasionar perda de informação na base do cliente, por isso o sistema sempre faz um backup completo antes de efetuar essa analise).

Mas pro básico tem nos ajudado bastante.

Att.Cauê Nishijima
GOSTEI 1

Mais Respostas

Marisiana Battistella

Marisiana Battistella

12/06/2015

Seriam as definições das operações CRUD?

Neste curso tem algumas videoaulas que abordam isso: Curso Completo de Delphi com FireDac
GOSTEI 0
Cauê Nishijima

Cauê Nishijima

12/06/2015

Você quer um sistema que mantenha a estrutura da base de dados nos cliente atualizada, conforme você for liberando novas atualizações, porque novas funcionalidades no sistema geralmente são acompanhadas de novas tabelas, ou alterações das já existe, ou até criação de procedures, views e triggers. Correto?

É isso que você quer?
GOSTEI 0
Jothaz

Jothaz

12/06/2015

Você quer um sistema que mantenha a estrutura da base de dados nos cliente atualizada, conforme você for liberando novas atualizações, porque novas funcionalidades no sistema geralmente são acompanhadas de novas tabelas, ou alterações das já existe, ou até criação de procedures, views e triggers. Correto?

É isso que você quer?


Cauê Nishijima acho que é isto que ele quer, então tem para onde correr.

Você tem de conhecer bastante de SQL para criar os scripts com as alterações e atualizações do bd.
E sempre que mudar a versão da aplicação enviar os cripts que deve ser rodados e assim manter o bd atualizado.

Então se você algum software para manipular seu bd através de arrastar e solta ou wizard vai ter que saber como fazer o mesmo via scritp do SQL.
GOSTEI 0
Dorivan Sousa

Dorivan Sousa

12/06/2015

procura por Database Comparer, tem opções para utilizar na sua aplicação (VCL) ou tem a opção de utilizar o aplicativo deles Database Comparar Stand Alone
GOSTEI 0
POSTAR