Memorizza dati persistenti che hanno solo una singola istanza ma possono cambiare

5

Sto creando un CMS sito web in Rails (per divertimento e apprendimento) e sto cercando di capire come sto andando a memorizzare i dati per una pagina "circa". A causa della natura di questa pagina, i dati avranno solo un'istanza, potrebbero cambiare e saranno persistenti quindi voglio memorizzarli nel mio database ma non sono sicuro che questo sia l'approccio migliore.

Mentre un database è ovviamente abbastanza capace, ma mi sembra che non sia il posto migliore per farlo, dato che questi dati non sono un oggetto che avrà mai istanze multiple come qualcosa come un account utente.

C'è un modo normale per farlo, è archiviarlo nel database come una cosa normale da fare e invece basta tirare avanti una singola riga dal database?

    
posta Elliot Blackburn 05.09.2015 - 20:58
fonte

2 risposte

3

Lo memorizzerei lì, dato che hai comunque un database e ogni versione può aggiornare la riga secondo necessità. Non vedo perché è importante quante istanze avrai della classe che usa i dati. A volte creo una tabella di sistema che contiene i dati di configurazione per l'applicazione, anche se ci sarà sempre una sola riga. Se la tua app ha bisogno di una connessione al database per fare qualcosa di utile, non c'è motivo di non mettere questo tipo di cose lì. Potresti scoprire di avere altre pagine simili e quindi potresti ristrutturare la tua tabella ad un certo punto anche per i loro dati.

    
risposta data 05.09.2015 - 21:46
fonte
1

Ci sono diversi modi per farlo,

  1. A volte anche se lo vedi come un singolo record, in realtà potrebbero essere più record. Ad esempio se vuoi mantenere la cronologia delle voci relative ai record potrebbe essere un elenco di record con uno contrassegnato come attivo

  2. Se nella pagina è presente del testo e lo vuoi archiviare nel database, è possibile che tu abbia più testo nelle altre pagine che devi memorizzare nel database (probabilmente nome_pagina, chiave, valore)

  3. potresti memorizzarlo in una tabella di valori chiave e non sarà più semplice.

risposta data 07.09.2015 - 14:57
fonte