2013-04-29 8 views
16

Stackoverflow e MySQL-via-command-line n00b qui, si prega di essere gentile! Ho cercato risposte alla mia domanda, ma ho potuto trovare solo argomenti che trattano i dump di MySQL di GitHubbing (come in: dump di dati) per la collaborazione o il "controllo di versione" di MySQL tramite GitHub, nessuno dei quali mi dice cosa voglio sapere:Come includere lo schema del database MySQL su GitHub?

Come si possono includere schemi di database MySQL/informazioni su tabelle con progetti PHP su GitHub?

Voglio condividere un progetto PHP su GitHub che si basa sull'esistenza di un database MySQL con determinate tabelle. Se qualcuno volesse copiare/utilizzare questo progetto, avrebbe bisogno di avere queste tabelle particolari per far funzionare lo script (tutte le tabelle tranne una all'inizio sono vuote e vengono solo colmate dall'utente nel tempo, tramite lo script ; la tabella non vuota contiene tre valori dall'inizio) Come si fa a fare questo, che cosa è pratica comune?

  • Sarebbe Ho appena ottenere un (completo) del file dei miei db/tavoli discarica, quindi eliminare tutte le parti di dati (ad eccezione di quella tavolo non vuoto), impostare tutti autoincrements a zero e quindi caricare quel file .sql a GitHub insieme al resto del progetto? O
  • E 'meglio/prassi migliore per scrivere (PHP) script con cui la (forse non così esperto) utente può creare queste tabelle, senza dover utilizzare mysqldump/magia riga di comando?

Se la soluzione numero 1 è la strada da percorrere, dovrei includere ulteriori istruzioni su come utilizzare tale file .sql? Scusa se le mie domande suonano sciocche, ma come ho detto sopra, io stesso sono nuovo ad usare la riga di comando per le cose relative a MySQL e ho sempre usato phpMyAdmin fino a ieri (quando ho creato il mio primo file di dump con mysqldump - Sìì!).

risposta

6

È prassi comune includere uno script di installazione che crei le tabelle necessarie, quindi la soluzione n. 2 sarebbe la soluzione.

[modifica] Quello script potrebbe ofc solo riprodurre un dump. ;)

Potreste anche essere interessati a migrazioni: How to automate migration (schema and data) for PHP/MySQL application

+0

Ah, ho davvero pensato che sarebbe stato a buon mercato e facile (e non così bello non utenti in modo più esperti) soluzione # 1! Significa che dovrò aggiungere altro lavoro al progetto. :) Grazie per l'aiuto! – Kay

+0

+1 per le migrazioni. Consente di mantenere le modifiche separate dallo schema del database iniziale. Sto usando Phinx con relativa facilità proveniente da uno sfondo Laravel. – thorne51