From 35773d08ff21dbd0c531ffa41acc86cfdbb14692 Mon Sep 17 00:00:00 2001 From: Maxime Kohlhaas Date: Wed, 24 Oct 2012 17:16:03 +0200 Subject: [PATCH] Task # 559 : mysql table creation + index and constraints --- .../install/mysql/migration/3.2.0-3.3.0.sql | 11 +++++-- .../tables/llx_product_price_by_qty.key.sql | 26 ++++++++++++++++ .../mysql/tables/llx_product_price_by_qty.sql | 30 +++++++++++++++++++ 3 files changed, 64 insertions(+), 3 deletions(-) create mode 100644 htdocs/install/mysql/tables/llx_product_price_by_qty.key.sql create mode 100644 htdocs/install/mysql/tables/llx_product_price_by_qty.sql diff --git a/htdocs/install/mysql/migration/3.2.0-3.3.0.sql b/htdocs/install/mysql/migration/3.2.0-3.3.0.sql index 3eb339b57dd..e32bacf6d9f 100755 --- a/htdocs/install/mysql/migration/3.2.0-3.3.0.sql +++ b/htdocs/install/mysql/migration/3.2.0-3.3.0.sql @@ -789,9 +789,14 @@ CREATE TABLE llx_product_price_by_qty fk_product_price integer NOT NULL, date_price timestamp, price double (24,8) DEFAULT 0, - price_ttc double (24,8) DEFAULT NULL, - qty_min real DEFAULT 0, - qty_max real DEFAULT 99999 + price_ttc double (24,8) DEFAULT 0, + qty_min real DEFAULT 0 )ENGINE=innodb; ALTER TABLE llx_product_price ADD price_by_qty INT NOT NULL DEFAULT 0; + +ALTER TABLE llx_product_price_by_qty ADD UNIQUE INDEX uk_product_price_by_qty_level (fk_product_price, qty_min); + +ALTER TABLE llx_product_price_by_qty ADD INDEX idx_product_price_by_qty_fk_product_price (fk_product_price); + +ALTER TABLE llx_product_price_by_qty ADD CONSTRAINT fk_product_price_by_qty_fk_product_price FOREIGN KEY (fk_product_price) REFERENCES llx_product_price (rowid); diff --git a/htdocs/install/mysql/tables/llx_product_price_by_qty.key.sql b/htdocs/install/mysql/tables/llx_product_price_by_qty.key.sql new file mode 100644 index 00000000000..e96af56e9c0 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_product_price_by_qty.key.sql @@ -0,0 +1,26 @@ +-- ============================================================================ +-- Copyright (C) 2002-2003 Rodolphe Quiedeville +-- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2010 Juanjo Menent +-- Copyright (C) 2012 Maxime Kohlhaas +-- +-- 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, see . +-- +-- ============================================================================ + +ALTER TABLE llx_product_price_by_qty ADD UNIQUE INDEX uk_product_price_by_qty_level (fk_product_price, qty_min); + +ALTER TABLE llx_product_price_by_qty ADD INDEX idx_product_price_by_qty_fk_product_price (fk_product_price); + +ALTER TABLE llx_product_price_by_qty ADD CONSTRAINT fk_product_price_by_qty_fk_product_price FOREIGN KEY (fk_product_price) REFERENCES llx_product_price (rowid); \ No newline at end of file diff --git a/htdocs/install/mysql/tables/llx_product_price_by_qty.sql b/htdocs/install/mysql/tables/llx_product_price_by_qty.sql new file mode 100644 index 00000000000..c101a211310 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_product_price_by_qty.sql @@ -0,0 +1,30 @@ +-- ============================================================================ +-- Copyright (C) 2002-2003 Rodolphe Quiedeville +-- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2010 Juanjo Menent +-- Copyright (C) 2012 Maxime Kohlhaas +-- +-- 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, see . +-- +-- ============================================================================ + +create table llx_product_price_by_qty +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + fk_product_price integer NOT NULL, + date_price timestamp, + price double (24,8) DEFAULT 0, + price_ttc double (24,8) DEFAULT 0, + qty_min real DEFAULT 1 +)ENGINE=innodb;