Memorizza template come data parzialmente come JSON in MySQL o come file JSON flat

0

Sto lavorando alla creazione di una soluzione modello di importazione / esportazione per un'applicazione web. L'applicazione web ha "Dipartimenti" (memorizzati come tabella MySQL departments ) e ogni "Reparto" ha un insieme di "Funzione" (memorizzato come tabella MySQL funtionXYZ ) e ogni "Funzione" ha "Record" in esso (righe nella tabella MySQL).

Un esempio di vita reale - il reparto "Contabilità" ha "Vendite", "Fattura", ecc. come "Funzione" e ognuno avrà i propri dati di esempio.

Quindi per l'esempio sopra, ci sarà una riga in departments tabella per "Contabilità" e ci sarà una tabella separata functionSALES , functionINVOICE che memorizza i record corrispondenti.

Ora voglio creare funzionalità di importazione / esportazione in modo tale che l'esportazione significhi memorizzare la struttura di un "Dipartimento" con tutte le sue "Funzioni" e i corrispondenti dati di esempio.

La mia idea originale è di memorizzare i meta-dati di "Reparto" (come nome, numero di funzioni, elenco funzioni, ecc.) in una tabella MySQL e creare un file JSON di tutte le "Funzioni" e dei suoi "Record" e memorizzarlo come un file flat o nella colonna del database per "Department" corrispondente.

Quando un utente vuole dire importare il modello di reparto "Accounting", il codice back-end analizza i dati JSON per il dipartimento "Accounting" e crea le tabelle attuali e le popola con dati di esempio.

È un buon approccio? Inoltre, la memorizzazione in questo modo come JSON è una buona idea: i dati JSON possono diventare enormi a seconda del numero di funzioni definite per un "Dipartimento".

Ogni reparto sarà personalizzabile da un'organizzazione secondo le proprie esigenze. E se vogliono abilitare / pubblicare la loro soluzione progettata (raccolta di app e relativi record), vogliamo che siano disponibili per altri clienti, e quindi questo design. Qualche idea migliore - benvenuta.

L'Org A crea un dipartimento "Contabilità", l'Org B crea il reparto "Risorse umane", quindi creiamo modelli per entrambi e lo rendiamo disponibile per altri clienti. Quando arriva l'Org C e vuole creare il dipartimento "Contabilità", possono creare direttamente lo scheletro (tabelle e dati di esempio) usando i modelli come discusso sopra.

P.S. Leggendo altre domande / risposte qui su domande simili, posso confermare che non devo interrogare alcun dato che faccia parte del JSON.

    
posta Abubakkar 26.03.2018 - 22:12
fonte

0 risposte

Leggi altre domande sui tag