From 0f0850664d2b05ebdee5f611f0eb0af126132d44 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Tue, 5 Apr 2016 11:47:52 +0200 Subject: [PATCH] FIX Remove duplicates of shipment modes --- htdocs/install/mysql/migration/repair.sql | 26 +++++++++++++------ .../mysql/tables/llx_c_shipment_mode.key.sql | 20 ++++++++++++++ 2 files changed, 38 insertions(+), 8 deletions(-) create mode 100644 htdocs/install/mysql/tables/llx_c_shipment_mode.key.sql diff --git a/htdocs/install/mysql/migration/repair.sql b/htdocs/install/mysql/migration/repair.sql index eab10d78383..663af76b0cd 100755 --- a/htdocs/install/mysql/migration/repair.sql +++ b/htdocs/install/mysql/migration/repair.sql @@ -3,6 +3,17 @@ -- when current version is 2.6.0 or higher. -- + +-- Replace xxx with your IP Address +-- bind-address = xxx.xxx.xxx.xxx +-- CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass'; +-- CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass'; +-- GRANT ALL ON *.* TO 'myuser'@'localhost'; +-- GRANT ALL ON *.* TO 'myuser'@'%'; +-- flush privileges; + + + -- Requests to clean corrupted database @@ -214,14 +225,6 @@ UPDATE llx_projet_task_time set task_datehour = task_date where task_datehour IS -- List of product into 2 categories xxx: select cp.fk_product, count(cp.fk_product) as nb from llx_categorie_product as cp, llx_categorie as c where cp.fk_categorie = c.rowid and c.label like 'xxx-%' group by fk_product having nb > 1; -- List of product with no category xxx yet: select rowid, ref from llx_product where rowid not in (select distinct cp.fk_product from llx_categorie_product as cp, llx_categorie as c where cp.fk_categorie = c.rowid and c.label like 'xxx-%' order by fk_product); --- Replace xxx with your IP Address --- bind-address = xxx.xxx.xxx.xxx --- CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass'; --- CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass'; --- GRANT ALL ON *.* TO 'myuser'@'localhost'; --- GRANT ALL ON *.* TO 'myuser'@'%'; --- flush privileges; - -- Fix type of product 2 does not exists update llx_propaldet set product_type = 1 where product_type = 2; update llx_commandedet set product_type = 1 where product_type = 2; @@ -241,3 +244,10 @@ delete from llx_menu where menu_handler = 'smartphone'; update llx_projet_task as pt set pt.duration_effective = (select SUM(ptt.task_duration) as y from llx_projet_task_time as ptt where ptt.fk_task = pt.rowid) where pt.duration_effective <> (select SUM(ptt.task_duration) as y from llx_projet_task_time as ptt where ptt.fk_task = pt.rowid) +-- Remove duplicate of shipment mode (keep the one with tracking defined) +drop table tmp_c_shipment_mode; +create table tmp_c_shipment_mode as (select code, tracking from llx_c_shipment_mode); +DELETE FROM llx_c_shipment_mode where code IN (select code from tmp_c_shipment_mode WHERE tracking is NULL OR tracking = '') AND code IN (select code from tmp_c_shipment_mode WHERE tracking is NOT NULL AND tracking != '') AND (tracking IS NULL OR tracking = ''); +drop table tmp_c_shipment_mode; + + diff --git a/htdocs/install/mysql/tables/llx_c_shipment_mode.key.sql b/htdocs/install/mysql/tables/llx_c_shipment_mode.key.sql new file mode 100644 index 00000000000..15058c0630e --- /dev/null +++ b/htdocs/install/mysql/tables/llx_c_shipment_mode.key.sql @@ -0,0 +1,20 @@ +-- =================================================================== +-- Copyright (C) 2016 Laurent Destailleur <eldy@users.sourceforge.net> +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see <http://www.gnu.org/licenses/>. +-- +-- =================================================================== + +ALTER TABLE llx_c_shipment_mode ADD UNIQUE INDEX uk_c_shipment_mode (code); + -- GitLab