PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como lidar com as evoluções do banco de dados do Play Framework 2 em produção


Infelizmente Ebean pode criar apenas CREATE DDL (e não UPDATE DDL ) (conforme respondido em seu grupo), portanto, você precisa mudar para evoluções manuais o mais rápido possível.

algumas regras:
  1. Sempre faça backup de seu banco de dados ativo antes de implementar qualquer alteração :)
  2. O plug-in ebean recria o DDL inteiro se ele tiver apenas 1.sql evolução criada por ele
  3. Você precisa remover os dois primeiros comentários de 1.sql e comece a escrever suas próprias evoluções com os próximos números 2.sql , 3.sql etc. Tente colocar o maior número possível de modelos/campos antes de mudar para evoluções manuais. A maior parte será feita automaticamente pelo plugin.
  4. as evoluções manuais devem conter ALTERS para tabelas/colunas existentes em vez de DROP/CREATE, eles devem ter ambos:Ups e Downs para cada alteração.
  5. tente fazer o maior número possível de alterações em cada evolução, é mais fácil gerenciar do que escrever uma evolução separada para cada pequena alteração.

De fato, às vezes é mais fácil modificar a estrutura do banco de dados com o gui do banco de dados, de qualquer maneira, funciona principalmente para o único desenvolvedor ... quando você precisar compartilhar seu código com outros desenvolvedores, escrever evoluções será a melhor opção.

Se depois de algum tempo você adicionar a próxima porção 'grande' de novos modelos, você pode habilitar o DDL automático temporário novamente e usar o git local apenas para copiar novas peças. Em seguida, reverta para a própria revolução e cole novas partes geradas pelo plugin Ebean.