@@ -198,6 +198,19 @@ ORDER BY
198198 `co_documenti`.`data` DESC,
199199 CAST(IF(`co_documenti`.`numero` = '', `co_documenti`.`numero_esterno`, `co_documenti`.`numero`) AS UNSIGNED) DESC" WHERE ` name` = ' Fatture di acquisto' ;
200200
201+ -- Aggiungi colonna name alle tabelle delle categorie prima della migrazione
202+ ALTER TABLE ` mg_categorie` ADD ` name` VARCHAR (255 ) NULL ;
203+ ALTER TABLE ` my_impianti_categorie` ADD ` name` VARCHAR (255 ) NULL ;
204+
205+ -- Popola la colonna name con i valori title dalla tabella _lang per id_lang=1
206+ UPDATE ` mg_categorie` ` cat`
207+ JOIN ` mg_categorie_lang` ` cat_lang` ON ` cat` .` id` = ` cat_lang` .` id_record` AND ` cat_lang` .` id_lang` = 1
208+ SET ` cat` .` name` = ` cat_lang` .` title` ;
209+
210+ UPDATE ` my_impianti_categorie` ` cat`
211+ JOIN ` my_impianti_categorie_lang` ` cat_lang` ON ` cat` .` id` = ` cat_lang` .` id_record` AND ` cat_lang` .` id_lang` = 1
212+ SET ` cat` .` name` = ` cat_lang` .` title` ;
213+
201214RENAME TABLE ` mg_categorie` TO ` zz_categorie` ;
202215RENAME TABLE ` mg_categorie_lang` TO ` zz_categorie_lang` ;
203216
@@ -208,33 +221,35 @@ UPDATE `zz_categorie` SET `is_articolo` = 1 WHERE `id` IN (SELECT DISTINCT `id_c
208221OR ` id` IN (SELECT DISTINCT ` id_sottocategoria` FROM ` mg_articoli` WHERE ` id_sottocategoria` IS NOT NULL AND ` id_sottocategoria` > 0 );
209222
210223-- Inserisci prima le categorie senza parent (categorie principali)
211- INSERT INTO ` zz_categorie` (` colore` , ` parent` , ` is_articolo` , ` is_impianto` )
212- SELECT ` colore` , NULL , 0 , 1 FROM ` my_impianti_categorie` WHERE ` parent` IS NULL OR ` parent` = 0 ;
224+ INSERT INTO ` zz_categorie` (` name` , ` colore` , ` parent` , ` is_articolo` , ` is_impianto` )
225+ SELECT ` name` , ` colore` , NULL , 0 , 1 FROM ` my_impianti_categorie` WHERE ` parent` IS NULL OR ` parent` = 0 ;
226+
227+ ALTER TABLE ` zz_categorie_lang` CHANGE ` note` ` note` VARCHAR (255 ) NULL ;
213228
214229-- Inserisci le sottocategorie con parent, mappando i parent ID dalla vecchia alla nuova tabella
215- INSERT INTO ` zz_categorie` (` colore` , ` parent` , ` is_articolo` , ` is_impianto` )
216- SELECT ` mic` .` colore` , ` zz_cat_parent` .` id` , 0 , 1
230+ INSERT INTO ` zz_categorie` (` name ` , ` colore` , ` parent` , ` is_articolo` , ` is_impianto` )
231+ SELECT ` mic` .` name ` , ` mic ` . ` colore` , ` zz_cat_parent` .` id` , 0 , 1
217232FROM ` my_impianti_categorie` ` mic`
218233JOIN ` my_impianti_categorie` ` mic_parent` ON ` mic` .` parent` = ` mic_parent` .` id`
219- JOIN ` zz_categorie` ` zz_cat_parent` ON ` zz_cat_parent` .` is_impianto` = 1 AND ` zz_cat_parent` .` colore ` = ` mic_parent` .` colore `
234+ JOIN ` zz_categorie` ` zz_cat_parent` ON ` zz_cat_parent` .` is_impianto` = 1 AND ` zz_cat_parent` .` name ` = ` mic_parent` .` name `
220235WHERE ` mic` .` parent` IS NOT NULL AND ` mic` .` parent` > 0 ;
221236
222237INSERT INTO ` zz_categorie_lang` (` id_lang` , ` id_record` , ` title` )
223- SELECT ` mic_lang` .` id_lang` , ` zz_cat` .` id` , ` mic_lang` .` title`
238+ SELECT DISTINCT ` mic_lang` .` id_lang` , ` zz_cat` .` id` , ` mic_lang` .` title`
224239FROM ` my_impianti_categorie_lang` ` mic_lang`
225- JOIN ` my_impianti_categorie` ` mic` ON ` mic_lang` .` id_record` = ` mic` .` id`
226- JOIN ` zz_categorie` ` zz_cat` ON ` zz_cat` .` is_impianto` = 1 AND ` zz_cat` .` colore ` = ` mic` .` colore ` ;
240+ JOIN ` my_impianti_categorie` ` mic` ON ( ` mic_lang` .` id_record` = ` mic` .` id` AND ` mic_lang ` . ` id_lang ` = 1 )
241+ JOIN ` zz_categorie` ` zz_cat` ON ` zz_cat` .` is_impianto` = 1 AND ` zz_cat` .` name ` = ` mic` .` name ` ;
227242
228243ALTER TABLE ` my_impianti` DROP FOREIGN KEY ` my_impianti_ibfk_1` ;
229244
230245UPDATE ` my_impianti` ` imp`
231246JOIN ` my_impianti_categorie` ` mic` ON ` imp` .` id_categoria` = ` mic` .` id`
232- JOIN ` zz_categorie` ` zz_cat` ON ` zz_cat` .` is_impianto` = 1 AND ` zz_cat` .` colore ` = ` mic` .` colore `
247+ JOIN ` zz_categorie` ` zz_cat` ON ` zz_cat` .` is_impianto` = 1 AND ` zz_cat` .` name ` = ` mic` .` name `
233248SET ` imp` .` id_categoria` = ` zz_cat` .` id` ;
234249
235250UPDATE ` my_impianti` ` imp`
236251JOIN ` my_impianti_categorie` ` mic` ON ` imp` .` id_sottocategoria` = ` mic` .` id`
237- JOIN ` zz_categorie` ` zz_cat` ON ` zz_cat` .` is_impianto` = 1 AND ` zz_cat` .` colore ` = ` mic` .` colore `
252+ JOIN ` zz_categorie` ` zz_cat` ON ` zz_cat` .` is_impianto` = 1 AND ` zz_cat` .` name ` = ` mic` .` name `
238253SET ` imp` .` id_sottocategoria` = ` zz_cat` .` id` ;
239254
240255DROP TABLE IF EXISTS ` my_impianti_categorie_lang` ;
0 commit comments