PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come gestire le evoluzioni del database di Play Framework 2 in produzione

Sfortunatamente Ebean può creare solo CREATE DDL (e non UPDATE DDL ) (come risposto sul loro gruppo), quindi è necessario passare alle evoluzioni manuali il prima possibile.

alcune regole:

  1. Esegui sempre il backup del tuo DB live prima di implementare qualsiasi modifica :)
  2. Il plugin ebean ricrea l'intero DDL se ha solo 1.sql evoluzione da essa creata
  3. Devi rimuovere i primi due commenti da 1.sql e inizia a scrivere le proprie evoluzioni con i numeri successivi 2.sql , 3.sql ecc. Prova a posizionare quanti più modelli/campi possibile prima di passare alle evoluzioni manuali. La maggior parte verrà eseguita automaticamente dal plug-in.
  4. Le evoluzioni manuali dovrebbero contenere ALTERS alle tabelle/colonne esistenti invece di DROP/CREATE, dovrebbero avere entrambi:Ups e Downs per ogni modifica.
  5. cerca di inserire il maggior numero possibile di modifiche in ogni evoluzione, è più facile da gestire quindi scrivere un'evoluzione separata per ogni piccola modifica.

Di fatto a volte è solo più semplice modificare la struttura del DB con la GUI del DB, comunque funziona principalmente per il singolo sviluppatore... quando devi condividere il tuo codice con altri sviluppatori, sarà meglio scrivere evoluzioni.

Se dopo qualche tempo aggiungerai la prossima parte "grande" di nuovi modelli, puoi abilitare nuovamente il DDL automatico temporaneo e utilizzare git locale solo per copiare nuove parti. Quindi torna alla propria rivoluzione e incolla le nuove parti generate dal plug-in Ebean.