2013-04-14 31 views
5

Per esempio, ho salvato {id, name} in mnesia e desidera aggiornare {id, name, age}, devo chiamare transform_table ogni volta che cambio dello schema?Qual è il modo più semplice per aggiornare lo schema mnesia?

+2

Cos'altro ti aspetti di poter fare? Devi cambiare la tabella attraverso qualche chiamata di funzione, giusto? transform_table/{3-4} ti offre alcune opzioni per cambiare l'approccio alla regolazione dello schema. – d11wtq

+1

si. devi trasformare quella tabella –

+0

Transform_table richiede molto tempo quando la tabella mnesia diventa molto grande? In tal caso, ciò inciderà sul vantaggio degli aggiornamenti del codice sorgente. Se si utilizza un'altra soluzione, tenere traccia della versione del record e aggiornare solo i record che sono stati caricati, potrebbe rendere il codice di aggiornamento noioso e soggetto a errori. –

risposta

1

Il modo più semplice è quello di eliminare la tabella e ricrearla. Se è necessario mantenere i dati nella tabella, mnesia:transform_table è la strada da percorrere.

+1

Non pensi che l'eliminazione e la ricreazione delle tabelle possano rompere il sistema di produzione. –

+0

Nella maggior parte dei casi, sì, a meno che non si acceda al database mentre si sta ricreando le tabelle. 'transform_table' evita tali problemi. – legoscia

+0

Sì, transform_table è l'approccio decente per affrontare questo problema. Stavo solo dando una prospettiva più ampia alla risposta. –

Problemi correlati