Dove risiede il mio schema di database in MVC?

2

Sto iniziando a controllare i file SQL per creare / mantenere il nostro database. In precedenza i file SQL venivano mantenuti completamente separati dal controllo della versione del nostro codebase.

Vorrei memorizzare pragmaticamente i miei file di costruzione / manipolazione del database con il mio altro codice. Hanno più senso in una sottodirectory dei miei modelli o come una directory separata da qualche parte?

Per la maggior parte, le istruzioni SQL sono i dati a cui i miei modelli accedono, ma alcune altre cose sono gli script di manutenzione ect; cose che non si adattano pragmaticamente alla struttura della mia cartella MVC.

    
posta Ben Brocka 17.04.2012 - 16:26
fonte

3 risposte

8

No. I file SQL definiscono lo schema o definiscono l'accesso ai dati.

I dati recuperati dai file SQL non sono neanche il tuo modello, o piuttosto i set di record del database non dovrebbero essere il tuo modello. Ci dovrebbe essere un livello di traduzione che converta i record in dati adatti al Modello.

In uno scenario ideale, il tuo modello sarà indipendente dalla logica di accesso ai dati e dovrebbe contenere dati pertinenti a una o più viste e anche a visualizzare le informazioni sullo stato.

Il controller deve colmare il divario tra la vista e i dati contenuti nel modello in modo tale che solo il controllore è interessato alle questioni relative all'accesso ai dati.

In un'altra nota, se il tuo SQL NON è il codice, allora che cos'è? Hai ragione a memorizzare SQL nel controllo di versione perché definiscono la tua applicazione tanto quanto qualsiasi cosa.

    
risposta data 17.04.2012 - 16:41
fonte
0

Hai esaminato il controllo sorgente SQL plug-in SSMS? Collega SQL Server a SVN, TFS, Vault, Mercurial, ecc. Dettagli su link

    
risposta data 18.04.2012 - 16:39
fonte
-2

Manteniamo gli script di migrazione sql di ogni iterazione in un grosso file .sql brutto che vive in TFS.

    
risposta data 17.04.2012 - 17:17
fonte

Leggi altre domande sui tag