/ / Dropwizard: Usando migrações para um aplicativo baseado em nuvem - java, rest, cloud, liquibase, dropwizard

Dropwizard: Usando migrações para um aplicativo baseado em nuvem - java, rest, cloud, liquibase, dropwizard

Estamos tendo um aplicativo, por exemplo, expondo os serviços da web RESTful e nosso objetivo é que este aplicativo seja implantado na nuvem. Precisamos configurar uma vez um esquema de banco de dados para o aplicativo em alguma instância de banco de dados na nuvem. Alguém pode me dizer se é uma boa abordagem usar migrações com liquibase para a configuração do esquema de banco de dados único. Estaremos usando alter scripts no caso de alguma modificação DDL necessária em versões futuras.

Respostas:

0 para resposta № 1

Alguém me pare se eu estiver errado, mas o fato de vocêA aplicação será implementada na nuvem apenas significa que estará num servidor virtual alojado por uma empresa externa, que no caso da sua questão não se arrisca.

Portanto, a questão é "o sistema de versão de banco de dados Liquibase está em um banco de dados com um shema estável pretendido vale a pena".

Em absoluto, pode ser considerado um exagero, emuitas grandes empresas ainda gerenciam a evolução do esquema do banco de dados com scripts sql nus. Você poderia simplesmente exportar o script final construído de seu banco de dados de desenvolvimento e ir com ele.

Mas, como você conhece o Liquibase, a sobrecarga é bem barata e o conforto de usá-lo se tiver que modificar o tour shema mais tarde é importante.

Então, sim, eu acho que é uma prática muito boa (mais segurado que aplicar o script manualmente sob o estresse de um problema de servidor de produção) que custam uma ou duas horas (desde que você saiba como usar a ferramenta) e podem economizar dezenas ao ter que lidar com o hotfix de um banco de dados de produção.


0 para resposta № 2

Suponho que você implantará esteaplicativo em mais de um lugar - não apenas produção na nuvem, mas também servidores de desenvolvimento, servidores de teste, teste, etc. Se isso for verdade, então me parece que você definitivamente deseja ter um processo em torno de como você faz alterações em o esquema do banco de dados.

Para mim, ao longo dos meus mais de 20 anos emdesenvolvimento de software, vi várias coisas que uso agora que não eram de uso comum quando comecei, mas que agora se tornaram práticas "básicas" em qualquer projeto em que trabalho. Sim, eu costumava trabalhar sem controle de origem, mas isso é absolutamente necessário agora. Eu costumava escrever software sem testes, mas não agora. Costumava trabalhar sem integração contínua, mas essa é mais uma prática que considero obrigatória. A adição mais recente à minha lista de itens obrigatórios é algum tipo de processo automatizado de migração de banco de dados.

Além disso, como o Liquibase é integrado ao Dropwizard, não vejo nenhuma razão não para usá-lo.