From d8040864ac6fc176f75022d70d035e3c4798b3bd Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 1 Mar 2011 10:41:05 +0000 Subject: [PATCH] Fix: Can not create replacement invoice if source invoice has a discount. --- htdocs/install/mysql/migration/2.9.0-3.0.0.sql | 4 ++++ htdocs/install/mysql/migration/3.0.0-3.1.0.sql | 4 ++++ htdocs/install/mysql/tables/llx_facturedet.key.sql | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/htdocs/install/mysql/migration/2.9.0-3.0.0.sql b/htdocs/install/mysql/migration/2.9.0-3.0.0.sql index 001550d7f7a..183f2ac179f 100644 --- a/htdocs/install/mysql/migration/2.9.0-3.0.0.sql +++ b/htdocs/install/mysql/migration/2.9.0-3.0.0.sql @@ -43,6 +43,7 @@ ALTER TABLE llx_expedition MODIFY date_expedition datetime; ALTER TABLE llx_expedition MODIFY date_delivery datetime NULL; ALTER TABLE llx_societe ADD COLUMN canvas varchar(32) DEFAULT NULL AFTER default_lang; +ALTER TABLE llx_societe MODIFY canvas varchar(32) DEFAULT NULL; ALTER TABLE llx_cond_reglement RENAME TO llx_c_payment_term; ALTER TABLE llx_expedition_methode RENAME TO llx_c_shipment_mode; @@ -159,3 +160,6 @@ UPDATE llx_documentmodel set type='order_supplier' WHERE type='supplier_order'; UPDATE llx_c_type_contact set element='invoice_supplier' WHERE element='facture_fourn'; UPDATE llx_c_type_contact set module='invoice_supplier' WHERE module='supplier_invoice'; UPDATE llx_c_type_contact set module='order_supplier' WHERE module='supplier_order'; + +ALTER TABLE llx_facturedet DROP INDEX uk_fk_remise_except; +ALTER TABLE llx_facturedet ADD UNIQUE INDEX uk_fk_remise_except (fk_remise_except, fk_facture); diff --git a/htdocs/install/mysql/migration/3.0.0-3.1.0.sql b/htdocs/install/mysql/migration/3.0.0-3.1.0.sql index 75e1c8fa16e..8f82af018e6 100755 --- a/htdocs/install/mysql/migration/3.0.0-3.1.0.sql +++ b/htdocs/install/mysql/migration/3.0.0-3.1.0.sql @@ -34,3 +34,7 @@ ALTER TABLE llx_facture_fourn ADD column ref_ext varchar(30) after entity; ALTER TABLE llx_commande_fournisseur ADD column ref_ext varchar(30) after entity; +ALTER TABLE llx_facturedet DROP INDEX uk_fk_remise_except; +ALTER TABLE llx_facturedet ADD UNIQUE INDEX uk_fk_remise_except (fk_remise_except, fk_facture); + + diff --git a/htdocs/install/mysql/tables/llx_facturedet.key.sql b/htdocs/install/mysql/tables/llx_facturedet.key.sql index 44df288c94d..bc2d8976966 100644 --- a/htdocs/install/mysql/tables/llx_facturedet.key.sql +++ b/htdocs/install/mysql/tables/llx_facturedet.key.sql @@ -23,5 +23,5 @@ -- V4 DELETE llx_facturedet FROM llx_facturedet LEFT JOIN llx_facture ON llx_facturedet.fk_facture = llx_facture.rowid WHERE llx_facture.rowid IS NULL; ALTER TABLE llx_facturedet ADD INDEX idx_facturedet_fk_facture (fk_facture); -ALTER TABLE llx_facturedet ADD UNIQUE INDEX uk_fk_remise_except (fk_remise_except); +ALTER TABLE llx_facturedet ADD UNIQUE INDEX uk_fk_remise_except (fk_remise_except, fk_facture); ALTER TABLE llx_facturedet ADD CONSTRAINT fk_facturedet_fk_facture FOREIGN KEY (fk_facture) REFERENCES llx_facture (rowid);