modo migliore per allegare la struttura del database per un progetto open source

4

Ho un piccolo progetto che voglio pubblicare su github. Il problema è che il mio progetto contiene un database. Non so quale sia il modo migliore per collegare la struttura del database.

Potrei ottenere le query create e inserire un file chiamato db.sql, ma è questo il modo migliore?

    
posta shady sherif 07.01.2015 - 18:28
fonte

2 risposte

6

Vorrei fare una separazione tra lo schema del tuo database e il contenuto iniziale effettivo. Per un'applicazione semplice e piccola, è possibile creare uno schema.sql e un seed.sql. Lo schema contiene tutte le istruzioni per creare il database e le sue tabelle. Il seme contiene istruzioni INSERT

Se vuoi fare un ulteriore passo avanti, semina il database attraverso il tuo codice.

C'è un buon esempio di come eseguire la migrazione delle strutture di database e seminare il database nel framework Ruby on Rails. Dai un'occhiata alla guida alla migrazione per Rails .

    
risposta data 07.01.2015 - 18:42
fonte
3

La maggior parte dei framework O / RM fornisce un mezzo per inizializzare e seminare un database. Tramite codice Ad esempio, Entity Framework consente di creare un inizializzatore del database personalizzato e implementare un metodo seed per fornire i dati seme (se si desidera semplicemente che generi il database, non è necessario creare una funzione seme).

Se non stai utilizzando un O / RM, puoi utilizzare la funzione integrata del tuo Database per generare uno script di creazione. Ad esempio, ecco una procedura dettagliata su come eseguirla con SQL Server

Ancora un'altra opzione sarebbe quella di mettere gli script del database nel controllo del codice sorgente (se stai gestendo manualmente il database), ovviamente avresti bisogno di un modo per avere gli script compilati in un'unica esecuzione, anche avendo cura di ordinare gli script correttamente per gestire correttamente le dipendenze tra le tabelle.

    
risposta data 07.01.2015 - 19:09
fonte

Leggi altre domande sui tag