Ho un file flat (CSV) che mi porta i dati che desidero, ma deve essere pulito ed elaborato prima che possa essere usato, quindi ho creato un Database intermedio (MySQL) per ottenere la struttura dall'appartamento file come voglio e come voglio (pulito e formattato) ... quindi uso questi dati e li inserisco in un CMS.
Questo processo è iterativo, quindi arrivano sempre più file flat e uno script (PHP e stored procedure) eseguirà la pulizia e il salvataggio.
Quello che succede ora è che entrambe le strutture (il mio DB intermedio e il DB del CMS) sono simili e sono preoccupato per la soluzione che sto usando non è così buona, e forse c'è l'opzione migliore (perché è come avere lo stesso tabelle in ogni DB) .... Ad esempio:
Nel DB intermedio:
element: id_web, name, col1, col2, var
category: name, col3, var (probably modified so variable)
Nel DB di CMS:
cms_element: id_el, col, col, var
cms_element_lang: id_el, id_web (added/modified structure), name, col1
cms_category: id_cat, cols
cms_category_lang: id_cat, name, col3, var
cms_category_element: id_cat, id_el (use col2 from table: element to assign relationship)
Come spiegato prima, questo processo è iterato quindi uso id_web
per elements
per riconoscere il registro e modificare solo il campo variabile ( var
), e per categories
Io uso solo name
, So che non è una buona idea ma è stato modificato la struttura del CMS e aggiunto il mio id?
Ho eseguito il processo in questo modo e ora voglio migliorarlo, ma non sono sicuro di come farlo.
Nel caso della relazione tra entrambi (elemento e categoria) va bene non salvarlo nel DB intermedio, solo sul DB di CMS?
EDITED: Sto provando a utilizzare il DB intermedio come repository senza dipendenze da uno specifico CMS (o versione di CMS).
E come @Xavier mi ha chiarito, voglio che questo repository sia utile come un facile "replay".