Le migliori pratiche su come posso modificare la struttura di un database live senza perdere dati all'interno

1

Supponiamo che abbia un sito web attivo in esecuzione su un database live e che disponga di un sito Web di sviluppo che è un duplicato del sito web in tempo reale.

Il database live è il luogo in cui sono memorizzate le transazioni dei clienti.

Supponiamo di apportare alcune modifiche al sito Web dev e al database dev come aggiungere un'altra colonna in una tabella. Come posso mantenere tutta la transazione del cliente all'interno del live ma allo stesso tempo salvare tutte le modifiche apportate dal sito Web di test al sito web live?

    
posta Daniel 01.10.2018 - 14:26
fonte

2 risposte

3

Devi scrivere / generare script con le modifiche che hai apportato. Ad esempio se aggiungi alcune colonne alla tabella, l'SQL per questo potrebbe essere:

ALTER TABLE dbo.doc_exa ADD column_b VARCHAR (20) NULL, column_c INT NULL;

A seconda dei set di strumenti che hai e dei database che usi ci sono vari prodotti che aiuteranno ad automatizzare la generazione di codice. Ad esempio, nel mondo del server SQL è possibile visualizzare progetti di database di Visual Studio o Redgate. Le piattaforme Otehr avranno strumenti simili disponibili.

    
risposta data 01.10.2018 - 16:29
fonte
0

Hai bisogno di tre set di script:

  1. per preparare il database per la migrazione
  2. per eseguire la migrazione
  3. per ripristinare lo stato del tuo database

Nella preparazione del database per la migrazione, è accettabile metterlo in uno stato "unstable" (ad esempio, eliminare i vincoli FK, denormalizzare le tabelle, eseguire il backup di tabelle e colonne).

Gli script di migrazione effettivi modificano il database come richiesto. Non molto altro.

L'ultima serie di script ripristina il database allo stato desiderato. Ripristina tabelle e colonne, ripristina i vincoli, elimina vecchie tabelle e colonne, ecc.

    
risposta data 02.10.2018 - 23:49
fonte

Leggi altre domande sui tag