diff --git a/dev/dbmodel/dolibarr_schema.mwb b/dev/dbmodel/dolibarr_schema.mwb index 227a7e45550..39407ba5383 100644 Binary files a/dev/dbmodel/dolibarr_schema.mwb and b/dev/dbmodel/dolibarr_schema.mwb differ diff --git a/htdocs/install/mysql/migration/2.8.0-2.9.0.sql b/htdocs/install/mysql/migration/2.8.0-2.9.0.sql index ebb207711be..30e52a6786e 100755 --- a/htdocs/install/mysql/migration/2.8.0-2.9.0.sql +++ b/htdocs/install/mysql/migration/2.8.0-2.9.0.sql @@ -6,10 +6,34 @@ -- when current version is 2.8.0 or higher. -- - +-- rename llx_product_det ALTER TABLE llx_product_det RENAME TO llx_product_lang; ALTER TABLE llx_product_lang ADD UNIQUE INDEX uk_product_lang (fk_product, lang); ALTER TABLE llx_product_lang ADD CONSTRAINT fk_product_lang_fk_product FOREIGN KEY (fk_product) REFERENCES llx_product (rowid); +-- add products variants ability ALTER TABLE llx_product ADD COLUMN virtual tinyint DEFAULT 0 NOT NULL AFTER tms; ALTER TABLE llx_product ADD COLUMN fk_parent integer DEFAULT 0 AFTER virtual; + +create table llx_product_variant +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + ref varchar(64) NOT NULL, + entity integer DEFAULT 1 NOT NULL, -- multi company id + active tinyint DEFAULT 1 NOT NULL, + rang integer DEFAULT 0 +)type=innodb; + +ALTER TABLE llx_product_variant ADD UNIQUE INDEX uk_product_variant_ref (ref, entity); + +create table llx_product_variant_lang +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + fk_product_variant integer DEFAULT 0 NOT NULL, + lang varchar(5) NOT NULL, + label varchar(64) NOT NULL +)type=innodb; + +ALTER TABLE llx_product_variant_lang ADD UNIQUE INDEX uk_product_variant_lang (fk_product_variant, lang); +ALTER TABLE llx_product_variant_lang ADD CONSTRAINT fk_product_variant_lang_fk_product_variant FOREIGN KEY (fk_product_variant) REFERENCES llx_product_variant (rowid); diff --git a/htdocs/install/mysql/tables/llx_product_variant.key.sql b/htdocs/install/mysql/tables/llx_product_variant.key.sql new file mode 100644 index 00000000000..e5fa9390446 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_product_variant.key.sql @@ -0,0 +1,23 @@ +-- ============================================================================ +-- Copyright (C) 2010 Regis Houssin +-- +-- 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 2 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, write to the Free Software +-- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +-- +-- $Id$ +-- ============================================================================ + + +ALTER TABLE llx_product_variant ADD UNIQUE INDEX uk_product_variant_ref (ref, entity); + diff --git a/htdocs/install/mysql/tables/llx_product_variant.sql b/htdocs/install/mysql/tables/llx_product_variant.sql new file mode 100644 index 00000000000..4bd42d74ebe --- /dev/null +++ b/htdocs/install/mysql/tables/llx_product_variant.sql @@ -0,0 +1,29 @@ +-- ============================================================================ +-- Copyright (C) 2010 Regis Houssin +-- +-- 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 2 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, write to the Free Software +-- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +-- +-- $Id$ +-- ============================================================================ + +create table llx_product_variant +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + ref varchar(64) NOT NULL, + entity integer DEFAULT 1 NOT NULL, -- multi company id + active tinyint DEFAULT 1 NOT NULL, + rang integer DEFAULT 0 +)type=innodb; diff --git a/htdocs/install/mysql/tables/llx_product_variant_lang.key.sql b/htdocs/install/mysql/tables/llx_product_variant_lang.key.sql new file mode 100644 index 00000000000..6818083d2ca --- /dev/null +++ b/htdocs/install/mysql/tables/llx_product_variant_lang.key.sql @@ -0,0 +1,26 @@ +-- ============================================================================ +-- Copyright (C) 2010 Regis Houssin +-- +-- 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 2 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, write to the Free Software +-- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +-- +-- $Id$ +-- ============================================================================ + + +ALTER TABLE llx_product_variant_lang ADD UNIQUE INDEX uk_product_variant_lang (fk_product_variant, lang); + + +ALTER TABLE llx_product_variant_lang ADD CONSTRAINT fk_product_variant_lang_fk_product_variant FOREIGN KEY (fk_product_variant) REFERENCES llx_product_variant (rowid); + diff --git a/htdocs/install/mysql/tables/llx_product_variant_lang.sql b/htdocs/install/mysql/tables/llx_product_variant_lang.sql new file mode 100644 index 00000000000..53fc09f6ca6 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_product_variant_lang.sql @@ -0,0 +1,27 @@ +-- ============================================================================ +-- Copyright (C) 2010 Regis Houssin +-- +-- 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 2 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, write to the Free Software +-- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +-- +-- $Id$ +-- ============================================================================ + +create table llx_product_variant_lang +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + fk_product_variant integer DEFAULT 0 NOT NULL, + lang varchar(5) NOT NULL, + label varchar(64) NOT NULL +)type=innodb; diff --git a/htdocs/install/mysql/tables/llx_usergroup_rights.key.sql b/htdocs/install/mysql/tables/llx_usergroup_rights.key.sql index 1a35f711489..99234b6660f 100644 --- a/htdocs/install/mysql/tables/llx_usergroup_rights.key.sql +++ b/htdocs/install/mysql/tables/llx_usergroup_rights.key.sql @@ -19,7 +19,7 @@ -- =========================================================================== --- Supprime orhpelins pour permettre montée de la clé +-- Supprime orhpelins pour permettre montee de la cle -- V4 DELETE llx_usergroup_rights FROM llx_usergroup_rights LEFT JOIN llx_usergroup ON llx_usergroup_rights.fk_usergroup = llx_usergroup.rowid WHERE llx_usergroup.rowid IS NULL;