Processo in attesa e approvazione

0

Diciamo che ho una tabella DB con 8 colonne, una è un autoincremento unico usato come ID. Quindi ho una pagina che raccoglie le informazioni per ogni riga in base all'ID stringa di query. Voglio offrire ai miei utenti la possibilità di proporre modifiche. Un po 'come una configurazione wiki. Quindi stavo pensando che dovrei semplicemente avere un'altra tabella duplicata o magari un database del tutto (senza la colonna autoincrementante e magari con una colonna modificata per la data) che mantiene tutte le modifiche proposte in coda e poi quando le approvo, lo script può spostare la riga dal DB proposto al DB reale.

Questo suona bene o c'è un processo migliore per questo?

    
posta zen 09.07.2012 - 21:24
fonte

1 risposta

1

Hai l'idea giusta, ma renderei la tabella di modifica suggerita in modo un po 'diverso. La tabella di modifica suggerita dovrebbe includere una chiave di incremento automatico perché non esiste una buona ragione per non averne uno almeno come parte di una chiave per qualsiasi tabella. Dovrebbe anche avere la chiave per l'altra tabella come FK e una colonna per ciascuna delle colonne a cui gli utenti possono suggerire modifiche. Infine, ci dovrebbero essere alcune colonne di controllo, data di creazione, data di modifica, creato da, modificato da, e una colonna di stato dei suggerimenti (accettata, rifiutata, in attesa). Quindi la tabella di modifica suggerita sarà simile a:

PK | FK | other 7 columns | createdBy | CreatedDate | modifiedBy | modifieddate | Status

Ciò ti consentirà di tenere una registrazione dettagliata di chi ha suggerito cosa e quando e cosa viene approvato / rifiutato e quando. Ciò rende inoltre banale la creazione di uno script per aggiornare la tabella utilizzata per la visualizzazione con le colonne modificate quando vengono approvate.

    
risposta data 09.07.2012 - 21:38
fonte