From 44952e353d496477d4c45405e8db8bb1f80ec9f6 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 19 Mar 2014 11:46:06 +0100 Subject: [PATCH] Fix: Bad format for fk_currency fields (even if they are not used, i fix them). --- ChangeLog | 11 ++++++----- htdocs/install/mysql/migration/3.1.0-3.2.0.sql | 4 ---- htdocs/install/mysql/migration/3.5.0-3.6.0.sql | 12 ++++++++++++ htdocs/install/mysql/migration/repair.sql | 5 +++++ htdocs/install/mysql/tables/llx_commande.sql | 2 +- htdocs/install/mysql/tables/llx_facture.sql | 2 +- htdocs/install/mysql/tables/llx_propal.sql | 2 +- htdocs/install/mysql/tables/llx_societe.sql | 2 +- 8 files changed, 27 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7d94a664ce6..40ef96fb5c1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,17 +6,18 @@ English Dolibarr ChangeLog For users: - New: Update ckeditor to version 4. - New: Add form "search customer order" on commercial main page. -- New: Can input barcode during product creation step. -- New: Add autonumbering of barcode value for products. - New: Can create contract from an order. - New: Add list of orders products in tab "consumption" on thirdparties. - New: Add graph stats for suppliers orders in tab "stats" on products. - New: Add option MAIN_HIDE_INACTIVETAB_ON_PRINT to hide inactive tabs when you use the "print" view on screen. -- New: Add a page/tool for mass barcode generation. - New: Add option MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES and MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES to automatically add timestamp and user line into edition field when editing a note. - New: Add button cancel into edition of notes. +- New: Improved Barcode module: + Can input barcode during product creation step. + Add autonumbering of barcode value for products. + Add a page/tool for mass barcode generation. - New: Improved Opensurvey module: Added options to disable comments and disable public votes. Limit dates use calendar popup. @@ -39,9 +40,9 @@ For users: - New: Add manager name (ceo, director, president...) into main company information page. - New: Add field url as product properties. - New: More options to create a credit note (can be filled autatically according to remain to pay). -- New: Can define custom fields for catagories. +- New: Can define custom fields for categories. - Fix: Project Task numbering customs rule works. -- Fix: Add actions events not implemented +- Fix: Add actions events not implemented. TODO - New: Predefined product and free product use same form. diff --git a/htdocs/install/mysql/migration/3.1.0-3.2.0.sql b/htdocs/install/mysql/migration/3.1.0-3.2.0.sql index a4048115593..044b1652029 100755 --- a/htdocs/install/mysql/migration/3.1.0-3.2.0.sql +++ b/htdocs/install/mysql/migration/3.1.0-3.2.0.sql @@ -428,10 +428,6 @@ INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'XEU' INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ARP', NULL, 0, 'Pesos argentins'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'MXP', NULL, 0, 'Pesos Mexicans'); -ALTER TABLE llx_propal ADD CONSTRAINT fk_propal_fk_currency FOREIGN KEY (fk_currency) REFERENCES llx_c_currencies (code_iso); -ALTER TABLE llx_commande ADD CONSTRAINT fk_commande_fk_currency FOREIGN KEY (fk_currency) REFERENCES llx_c_currencies (code_iso); -ALTER TABLE llx_facture ADD CONSTRAINT fk_facture_fk_currency FOREIGN KEY (fk_currency) REFERENCES llx_c_currencies (code_iso); - ALTER TABLE llx_expedition DROP COLUMN billed; ALTER TABLE llx_product_fournisseur_price DROP FOREIGN KEY fk_product_fournisseur_price_fk_product_fournisseur; diff --git a/htdocs/install/mysql/migration/3.5.0-3.6.0.sql b/htdocs/install/mysql/migration/3.5.0-3.6.0.sql index e8c9d18f3ba..0c2038fe7eb 100644 --- a/htdocs/install/mysql/migration/3.5.0-3.6.0.sql +++ b/htdocs/install/mysql/migration/3.5.0-3.6.0.sql @@ -17,6 +17,18 @@ -- -- VPGSQL8.2 DELETE FROM llx_usergroup_user WHERE fk_user NOT IN (SELECT rowid from llx_user); -- -- VMYSQL4.1 DELETE FROM llx_usergroup_user WHERE fk_usergroup NOT IN (SELECT rowid from llx_usergroup); + +-- delete foreign key that should never exists +ALTER TABLE llx_propal DROP FOREIGN KEY fk_propal_fk_currency; +ALTER TABLE llx_commande DROP FOREIGN KEY fk_commande_fk_currency; +ALTER TABLE llx_facture DROP FOREIGN KEY fk_facture_fk_currency; +ALTER TABLE llx_facture DROP FOREIGN KEY fk_societe_fk_currency; + +ALTER TABLE llx_propal MODIFY COLUMN fk_currency varchar(3) NULL; +ALTER TABLE llx_commande MODIFY COLUMN fk_currency varchar(3) NULL; +ALTER TABLE llx_facture MODIFY COLUMN fk_currency varchar(3) NULL; +ALTER TABLE llx_societe MODIFY COLUMN fk_currency varchar(3) NULL; + ALTER TABLE llx_bookmark ADD COLUMN entity integer DEFAULT 1 NOT NULL; ALTER TABLE llx_bookmark MODIFY COLUMN url varchar(255) NOT NULL; diff --git a/htdocs/install/mysql/migration/repair.sql b/htdocs/install/mysql/migration/repair.sql index 3cd1f430f9b..87166ba37f3 100644 --- a/htdocs/install/mysql/migration/repair.sql +++ b/htdocs/install/mysql/migration/repair.sql @@ -6,6 +6,11 @@ -- Requests to clean corrupted database +-- delete foreign key that should never exists +ALTER TABLE llx_propal DROP FOREIGN KEY fk_propal_fk_currency; +ALTER TABLE llx_commande DROP FOREIGN KEY fk_commande_fk_currency; +ALTER TABLE llx_facture DROP FOREIGN KEY fk_facture_fk_currency; + delete from llx_facturedet where fk_facture in (select rowid from llx_facture where facnumber in ('(PROV)','ErrorBadMask')); delete from llx_facture where facnumber in ('(PROV)','ErrorBadMask'); delete from llx_commandedet where fk_commande in (select rowid from llx_commande where ref in ('(PROV)','ErrorBadMask')); diff --git a/htdocs/install/mysql/tables/llx_commande.sql b/htdocs/install/mysql/tables/llx_commande.sql index 325b1f3fe13..beda59e79b3 100644 --- a/htdocs/install/mysql/tables/llx_commande.sql +++ b/htdocs/install/mysql/tables/llx_commande.sql @@ -56,7 +56,7 @@ create table llx_commande facture tinyint default 0, fk_account integer, -- bank account - fk_currency varchar(2), -- currency code + fk_currency varchar(3), -- currency code fk_cond_reglement integer, -- condition de reglement fk_mode_reglement integer, -- mode de reglement diff --git a/htdocs/install/mysql/tables/llx_facture.sql b/htdocs/install/mysql/tables/llx_facture.sql index 62ea8936e90..9f55527ff8e 100644 --- a/htdocs/install/mysql/tables/llx_facture.sql +++ b/htdocs/install/mysql/tables/llx_facture.sql @@ -63,7 +63,7 @@ create table llx_facture fk_projet integer DEFAULT NULL, -- projet auquel est associee la facture fk_account integer, -- bank account - fk_currency varchar(2), -- currency code + fk_currency varchar(3), -- currency code fk_cond_reglement integer DEFAULT 1 NOT NULL, -- condition de reglement (30 jours, fin de mois ...) fk_mode_reglement integer, -- mode de reglement (Virement, Prelevement) date_lim_reglement date, -- date limite de reglement diff --git a/htdocs/install/mysql/tables/llx_propal.sql b/htdocs/install/mysql/tables/llx_propal.sql index 3155eed6370..2a97c6c77a3 100644 --- a/htdocs/install/mysql/tables/llx_propal.sql +++ b/htdocs/install/mysql/tables/llx_propal.sql @@ -53,7 +53,7 @@ create table llx_propal total double(24,8) DEFAULT 0, -- montant total ttc apres remise globale fk_account integer, -- bank account - fk_currency varchar(2), -- currency code + fk_currency varchar(3), -- currency code fk_cond_reglement integer, -- condition de reglement (30 jours, fin de mois ...) fk_mode_reglement integer, -- mode de reglement (Virement, Prelevement) diff --git a/htdocs/install/mysql/tables/llx_societe.sql b/htdocs/install/mysql/tables/llx_societe.sql index f4e1614cd7d..57e2f6eb26d 100644 --- a/htdocs/install/mysql/tables/llx_societe.sql +++ b/htdocs/install/mysql/tables/llx_societe.sql @@ -53,7 +53,7 @@ create table llx_societe fk_effectif integer DEFAULT 0, -- fk_typent integer DEFAULT 0, -- fk_forme_juridique integer DEFAULT 0, -- juridical status - fk_currency integer DEFAULT 0, -- currency + fk_currency varchar(3), -- default currency siren varchar(128), -- IDProf1: siren or RCS for france siret varchar(128), -- IDProf2: siret for france ape varchar(128), -- IDProf3: code ape for france