Pagina 1 di 1

Modifica proprietà campo in tabella

Inviato: 28/07/2005, 16:51
da paolocerruti
Ciao a tutti, il problema è il seguente:
Ho dei dati da importare da un file di txt nella tabella del DB MySQL
solo che il campo CODICE del mio file di esportazione è alfa numerico e non progressivo.
Invece la proprietà del campo della tabella Prodotti (su OSC) è un campo di tipo INT incrementale non nullo, se cambio la sua proprietà da INT a VARCHAR non funziona pìu nulla...
Dove agisce? ci sono parti di codice che devo ridefinire in qualche pagina php?
Sono veramente disperato....
Grazie
Paolo

Re: Modifica proprietà campo in tabella

Inviato: 28/07/2005, 18:52
da marcus
paolocerruti ha scritto:Ciao a tutti, il problema è il seguente:
Ho dei dati da importare da un file di txt nella tabella del DB MySQL
solo che il campo CODICE del mio file di esportazione è alfa numerico e non progressivo.
Invece la proprietà del campo della tabella Prodotti (su OSC) è un campo di tipo INT incrementale non nullo, se cambio la sua proprietà da INT a VARCHAR non funziona pìu nulla...
Dove agisce? ci sono parti di codice che devo ridefinire in qualche pagina php?
Sono veramente disperato....
Grazie
Paolo
Non puoi modificare la proprietà del campo products_id.

Potresti mappare il campo codice del file da esportare nel campo products_model, che è di tipo varchar12, oppure (più elegantemente) aggiungere un nuovo campo, ad es products_code, nella tab products, che poi andrà in qualche modo gestito.

Buon lavoro

Marcus

Inviato: 29/07/2005, 8:37
da paolocerruti
Grazie mille per la risposta,
ragionanadoci su hai ragione, modificare un campo così comporterebbe lo stravolgimento completo e lo smembramento assoluto della struttura di OS commerce...
Cosa assai masochistica...
L'idea di aggiungere un campo [CODICE_PRODOTTO] ad hoc potrebbe come dici tu essere la soluzione migliore,
poi successivamente tramite delle query lavorare sul campo, quindi visualizzarmelo nella pagina della scheda tecnica, oppure nella pagina di inserimento oggetto ecc...
Solo che ti chiedo questo:
il file di testo che mi si genera dal DB del gestionale ha una formattazione che contiene dati di più tabelle, ti faccio l'esempio per capire:

Codice: Seleziona tutto

[CATEGORIE]
"112","Schede Video Professionali","9000","1"
"119","Accessori Fotocamere Canon","9002","2"
"108","Monitor LG","9002","3"
"116","Accessori notebook","9004","4"
"109","Stampanti HP Laser","9003","5"
[ARTICOLI]
"002120","039","OPTIJET MATTE PAPERT HIGH RESOLUTION","7.74","6.27","7.15","20","0","0","0","300","01/01/1970","01/01/1970","","","","20","5.86"
"002542","039","OPTIJET PHOTO PAPER GLOSSY PREMIUM W","6.97","5.65","6.44","20","0","0","0","300","01/01/1970","01/01/1970","","","","32","5.28"
"003425","039","OPTIJET PREMIUM PHOTO PAPER A3/20","14.76","11.96","13.64","20","0","0","0","300","01/01/1970","01/01/1970","","","","9","11.18"
Forse così formattato ti crea un po' di confusione (forse se lo copi/incolli su un BN lo vedi meglio)
noterai che le prime righe parlano di cattegorie, mentre dopo ci sono i contenuti degli ARTICOLI.
In pratica quando parte la query essa dovrebbe "capire" che quello che c'è dopo la scritta [CATTEGORIE] va lanciato in una determinata tabella, mentre quendo si giunge alla scritta [ARTICOLI] essa deve andare a scrivere nella tabella degli articoli...

Come si procede secondo te?si devono usare le espressioni lineari?
grazie mille ciao

Inviato: 29/07/2005, 19:14
da marcus
paolocerruti ha scritto:
.....

Come si procede secondo te?si devono usare le espressioni lineari?
grazie mille ciao
Scrivi un piccolo parser che preprocessa il file .txt esportato e lo adatta al tracciato record per easypopulate che è del tipo:

Codice: Seleziona tutto

v_products_model^

v_products_code^ // ***NUOVO CAMPO****

v_products_image^
v_products_image_med ^
v_products_image_lrg^
v_products_image_sm_1^
v_products_image_xl_1^
v_products_image_sm_2^
v_products_image_xl_2^
v_products_image_sm_3^
v_products_image_xl_3^
v_products_image_sm_4^
v_products_image_xl_4^
v_products_image_sm_5^
v_products_image_xl_5^
v_products_image_sm_6^
v_products_image_xl_6^
v_products_name_4^
v_products_description_4^
v_products_url_4^
v_products_price^
v_products_weight^
v_date_avail^
v_date_added^
v_products_quantity^
v_attribute_options_id_1^
v_attribute_options_name_1_4^
v_attribute_values_id_1_1^
v_attribute_values_name_1_1_4^
v_attribute_values_price_1_1^
v_attribute_values_id_1_2^
v_attribute_values_name_1_2_4^
v_attribute_values_price_1_2^
v_manufacturers_name^
v_categories_name_1^
v_categories_name_2^
v_categories_name_3^
v_categories_name_4^
v_categories_name_5^
v_categories_name_6^
v_categories_name_7^
v_tax_class_title^
v_status^
EOREOR
Buon lavoro
Marcus