18.0.0-19.0.0.sql 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. --
  2. -- This file is executed by calling /install/index.php page
  3. -- when current version is 19.0.0 or higher.
  4. -- Be carefull in the position of each SQL request.
  5. --
  6. -- To restrict request to Mysql version x.y minimum use -- VMYSQLx.y
  7. -- To restrict request to Pgsql version x.y minimum use -- VPGSQLx.y
  8. -- To rename a table: ALTER TABLE llx_table RENAME TO llx_table_new;
  9. -- To add a column: ALTER TABLE llx_table ADD COLUMN newcol varchar(60) NOT NULL DEFAULT '0' AFTER existingcol;
  10. -- To rename a column: ALTER TABLE llx_table CHANGE COLUMN oldname newname varchar(60);
  11. -- To drop a column: ALTER TABLE llx_table DROP COLUMN oldname;
  12. -- To change type of field: ALTER TABLE llx_table MODIFY COLUMN name varchar(60);
  13. -- To drop a foreign key: ALTER TABLE llx_table DROP FOREIGN KEY fk_name;
  14. -- To create a unique index ALTER TABLE llx_table ADD UNIQUE INDEX uk_table_field (field);
  15. -- To drop an index: -- VMYSQL4.1 DROP INDEX nomindex ON llx_table;
  16. -- To drop an index: -- VPGSQL8.2 DROP INDEX nomindex;
  17. -- To make pk to be auto increment (mysql):
  18. -- -- VMYSQL4.3 ALTER TABLE llx_table ADD PRIMARY KEY(rowid);
  19. -- -- VMYSQL4.3 ALTER TABLE llx_table CHANGE COLUMN rowid rowid INTEGER NOT NULL AUTO_INCREMENT;
  20. -- To make pk to be auto increment (postgres):
  21. -- -- VPGSQL8.2 CREATE SEQUENCE llx_table_rowid_seq OWNED BY llx_table.rowid;
  22. -- -- VPGSQL8.2 ALTER TABLE llx_table ADD PRIMARY KEY (rowid);
  23. -- -- VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN rowid SET DEFAULT nextval('llx_table_rowid_seq');
  24. -- -- VPGSQL8.2 SELECT setval('llx_table_rowid_seq', MAX(rowid)) FROM llx_table;
  25. -- To set a field as NULL: -- VMYSQL4.3 ALTER TABLE llx_table MODIFY COLUMN name varchar(60) NULL;
  26. -- To set a field as NULL: -- VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN name DROP NOT NULL;
  27. -- To set a field as NOT NULL: -- VMYSQL4.3 ALTER TABLE llx_table MODIFY COLUMN name varchar(60) NOT NULL;
  28. -- To set a field as NOT NULL: -- VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN name SET NOT NULL;
  29. -- To set a field as default NULL: -- VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN name SET DEFAULT NULL;
  30. -- Note: fields with type BLOB/TEXT can't have default value.
  31. -- To rebuild sequence for postgresql after insert, by forcing id autoincrement fields:
  32. -- -- VPGSQL8.2 SELECT dol_util_rebuild_sequences();
  33. -- v18
  34. -- VPGSQL8.2 ALTER SEQUENCE llx_projet_task_time_rowid_seq RENAME TO llx_element_time_rowid_seq;
  35. ALTER TABLE llx_product_perentity ADD COLUMN pmp double(24,8);
  36. -- v19
  37. -- VAT multientity
  38. -- VMYSQL4.1 DROP INDEX uk_c_tva_id ON llx_c_tva;
  39. -- VPGSQL8.2 DROP INDEX uk_c_tva_id;
  40. ALTER TABLE llx_c_tva ADD COLUMN entity integer DEFAULT 1 NOT NULL AFTER rowid;
  41. ALTER TABLE llx_c_tva ADD UNIQUE INDEX uk_c_tva_id (entity, fk_pays, code, taux, recuperableonly);
  42. -- Tip to copy vat rate into entity 2.
  43. -- INSERT INTO llx_c_tva (entity, fk_pays, code, taux, localtax1, localtax1_type, localtax2, localtax2_type, use_default, recuperableonly, note, active, accountancy_code_sell, accountancy_code_buy) SELECT 2, fk_pays, code, taux, localtax1, localtax1_type, localtax2, localtax2_type, use_default, recuperableonly, note, active, accountancy_code_sell, accountancy_code_buy FROM llx_c_tva WHERE entity = 1;
  44. ALTER TABLE llx_ticket ADD COLUMN fk_contract integer DEFAULT 0 after fk_project;
  45. UPDATE llx_product_lot SET manufacturing_date = datec WHERE manufacturing_date IS NULL;
  46. UPDATE llx_societe_rib SET frstrecur = 'RCUR' WHERE frstrecur = 'RECUR';
  47. INSERT INTO llx_c_action_trigger (code,label,description,elementtype,rang) values ('COMPANY_RIB_CREATE','Third party payment information created','Executed when a third party payment information is created','societe',1);
  48. INSERT INTO llx_c_action_trigger (code,label,description,elementtype,rang) values ('COMPANY_RIB_MODIFY','Third party payment information updated','Executed when a third party payment information is updated','societe',1);
  49. INSERT INTO llx_c_action_trigger (code,label,description,elementtype,rang) values ('COMPANY_RIB_DELETE','Third party payment information deleted','Executed when a third party payment information is deleted','societe',1);
  50. INSERT INTO llx_c_action_trigger (code,label,description,elementtype,rang) values ('FICHINTER_CLOSE','Intervention is done','Executed when a intervention is done','ficheinter',36);
  51. UPDATE llx_bank_url SET type = 'direct-debit' WHERE type = 'withdraw' AND url like '%compta/prelevement/card%';
  52. ALTER TABLE llx_facture_fourn ADD COLUMN revenuestamp double(24,8) DEFAULT 0;
  53. ALTER TABLE llx_societe_rib ADD COLUMN extraparams varchar(255);
  54. ALTER TABLE llx_c_type_container ADD COLUMN position integer DEFAULT 0;
  55. ALTER TABLE llx_user DROP COLUMN skype;
  56. ALTER TABLE llx_user DROP COLUMN twitter;
  57. ALTER TABLE llx_user DROP COLUMN facebook;
  58. ALTER TABLE llx_user DROP COLUMN instagram;
  59. ALTER TABLE llx_user DROP COLUMN snapchat;
  60. ALTER TABLE llx_user DROP COLUMN googleplus;
  61. ALTER TABLE llx_user DROP COLUMN youtube;
  62. ALTER TABLE llx_user DROP COLUMN whatsapp;
  63. ALTER TABLE llx_adherent DROP COLUMN skype;
  64. ALTER TABLE llx_adherent DROP COLUMN twitter;
  65. ALTER TABLE llx_adherent DROP COLUMN facebook;
  66. ALTER TABLE llx_adherent DROP COLUMN instagram;
  67. ALTER TABLE llx_adherent DROP COLUMN snapchat;
  68. ALTER TABLE llx_adherent DROP COLUMN googleplus;
  69. ALTER TABLE llx_adherent DROP COLUMN youtube;
  70. ALTER TABLE llx_adherent DROP COLUMN whatsapp;
  71. ALTER TABLE llx_societe DROP COLUMN skype;
  72. ALTER TABLE llx_user ADD COLUMN email_oauth2 varchar(255);
  73. ALTER TABLE llx_prelevement_demande ADD INDEX idx_prelevement_demande_ext_payment_id (ext_payment_id);
  74. ALTER TABLE llx_actioncomm ADD COLUMN fk_bookcal_availability integer DEFAULT NULL;
  75. ALTER TABLE llx_actioncomm ADD INDEX idx_actioncomm_entity (entity);
  76. ALTER TABLE llx_product_lot ADD COLUMN qc_frequency integer DEFAULT NULL;
  77. ALTER TABLE llx_product_lot ADD COLUMN lifetime integer DEFAULT NULL;
  78. ALTER TABLE llx_societe_rib ADD COLUMN model_pdf varchar(255) AFTER currency_code;
  79. ALTER TABLE llx_societe_rib ADD COLUMN last_main_doc varchar(255) AFTER model_pdf;
  80. ALTER TABLE llx_societe_rib ADD COLUMN date_signature datetime AFTER stripe_account;
  81. ALTER TABLE llx_societe_rib ADD COLUMN online_sign_ip varchar(48) AFTER date_signature;
  82. ALTER TABLE llx_societe_rib ADD COLUMN online_sign_name varchar(64) AFTER online_sign_ip;
  83. INSERT INTO llx_const (name, entity, value, type, visible) VALUES ('PROPOSAL_ALLOW_ONLINESIGN', 1, '1', 'string', 0);
  84. ALTER TABLE llx_bookcal_availabilities ADD COLUMN fk_bookcal_calendar integer NOT NULL;
  85. ALTER TABLE llx_bookcal_calendar ADD COLUMN visibility integer NOT NULL DEFAULT 1;
  86. ALTER TABLE llx_expeditiondet_batch ADD COLUMN fk_warehouse integer DEFAULT NULL;
  87. ALTER TABLE llx_commande_fournisseur_dispatch ADD INDEX idx_commande_fournisseur_dispatch_fk_commandefourndet (fk_commandefourndet);
  88. -- Update website type
  89. UPDATE llx_societe_account SET site = 'dolibarr_website' WHERE fk_website > 0 AND site IS NULL;
  90. ALTER TABLE llx_societe_account MODIFY COLUMN site varchar(128) NOT NULL;
  91. ALTER TABLE llx_accounting_account MODIFY COLUMN pcg_type varchar(60);
  92. -- Drop the composite unique index that exists on llx_links to rebuild a new one with objecttype included.
  93. -- The old design did not allow same label on different objects with same id.
  94. -- VMYSQL4.1 DROP INDEX uk_links on llx_links;
  95. -- VPGSQL8.2 DROP INDEX uk_links;
  96. ALTER TABLE llx_links ADD UNIQUE INDEX uk_links (objectid, objecttype,label);
  97. ALTER TABLE llx_facture_fourn ADD COLUMN subtype smallint DEFAULT NULL;
  98. ALTER TABLE llx_c_invoice_subtype DROP INDEX uk_c_invoice_subtype;
  99. ALTER TABLE llx_c_invoice_subtype ADD UNIQUE INDEX uk_c_invoice_subtype (entity, code, fk_country);
  100. ALTER TABLE llx_c_invoice_subtype MODIFY COLUMN entity integer DEFAULT 1 NOT NULL;
  101. ALTER TABLE llx_c_invoice_subtype MODIFY COLUMN code varchar(5) NOT NULL;
  102. insert into llx_c_invoice_subtype (entity, fk_country, code, label, active) VALUES (1, 102, '5.1', 'Πιστωτικό Τιμολόγιο / Συσχετιζόμενο', 0);
  103. insert into llx_c_invoice_subtype (entity, fk_country, code, label, active) VALUES (1, 102, '5.2', 'Πιστωτικό Τιμολόγιο / Μη Συσχετιζόμενο', 1);
  104. insert into llx_c_invoice_subtype (entity, fk_country, code, label, active) VALUES (1, 102, '11.4', 'Πιστωτικό Στοιχ. Λιανικής', 1);
  105. -- Product/service managed in stock
  106. ALTER TABLE llx_product ADD COLUMN stockable_product integer DEFAULT 1 NOT NULL;
  107. UPDATE llx_product set stockable_product = 0 WHERE type = 1;
  108. ALTER TABLE llx_prelevement_lignes ADD COLUMN fk_user integer NULL;
  109. ALTER TABLE llx_hrm_evaluationdet ADD COLUMN comment TEXT;
  110. ALTER TABLE llx_resource ADD COLUMN address varchar(255) DEFAULT NULL AFTER fk_code_type_resource;
  111. ALTER TABLE llx_resource ADD COLUMN zip varchar(25) DEFAULT NULL AFTER address;
  112. ALTER TABLE llx_resource ADD COLUMN town varchar(50) DEFAULT NULL AFTER zip;
  113. ALTER TABLE llx_resource ADD COLUMN photo_filename varchar(255) DEFAULT NULL AFTER town;
  114. ALTER TABLE llx_resource ADD COLUMN max_users integer DEFAULT NULL AFTER photo_filename;
  115. ALTER TABLE llx_resource ADD COLUMN phone varchar(255) DEFAULT NULL AFTER user_places;
  116. ALTER TABLE llx_resource ADD COLUMN email varchar(255) DEFAULT NULL AFTER phone;
  117. ALTER TABLE llx_resource ADD COLUMN url varchar(255) DEFAULT NULL AFTER email;
  118. ALTER TABLE llx_resource ADD COLUMN fk_state integer DEFAULT NULL AFTER fk_country;
  119. ALTER TABLE llx_resource ADD INDEX idx_resource_fk_state (fk_state);
  120. --ALTER TABLE llx_resource ADD CONSTRAINT fk_resource_fk_state FOREIGN KEY (fk_state) REFERENCES llx_c_departements (rowid);
  121. ALTER TABLE llx_mailing ADD COLUMN note_private text;
  122. ALTER TABLE llx_mailing ADD COLUMN note_public text;
  123. ALTER TABLE llx_user_rib ADD COLUMN bic_intermediate varchar(11) AFTER bic;
  124. ALTER TABLE llx_bank_account ADD COLUMN bic_intermediate varchar(11) AFTER bic;
  125. ALTER TABLE llx_societe_rib ADD COLUMN bic_intermediate varchar(11) AFTER bic;
  126. UPDATE llx_menu SET url = '/fourn/paiement/list.php?mainmenu=billing&leftmenu=suppliers_bills_payment' WHERE leftmenu = 'suppliers_bills_payment';
  127. ALTER TABLE llx_facture_rec ADD INDEX idx_facture_rec_datec(datec);
  128. ALTER TABLE llx_facturedet ADD COLUMN batch varchar(128) NULL; -- To store the batch to consume in stock when using a POS module
  129. ALTER TABLE llx_facturedet ADD COLUMN fk_warehouse integer NULL; -- To store the warehouse where to consume stock when using a POS module
  130. ALTER TABLE llx_multicurrency_rate ADD COLUMN rate_indirect double DEFAULT 0;
  131. ALTER TABLE llx_mrp_production ADD COLUMN fk_unit integer DEFAULT NULL;
  132. -- VMYSQL4.1 UPDATE llx_mrp_production as mp INNER JOIN llx_bom_bomline as bbl ON mp.origin_id = bbl.rowid SET mp.fk_unit = bbl.fk_unit WHERE mp.origin_type = 'bomline' AND mk.fk_unit IS NULL;
  133. -- VMYSQL4.1 UPDATE llx_bom_bomline as bbl INNER JOIN llx_product as p ON p.rowid = bbl.fk_product SET bbl.fk_unit = p.fk_unit WHERE bbl.fk_unit IS NULL;
  134. ALTER TABLE llx_facture_rec ADD COLUMN subtype smallint DEFAULT NULL AFTER entity;
  135. ALTER TABLE llx_facture_fourn_rec ADD COLUMN subtype smallint DEFAULT NULL AFTER entity;
  136. CREATE TABLE llx_mrp_production_extrafields
  137. (
  138. rowid integer AUTO_INCREMENT PRIMARY KEY,
  139. tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  140. fk_object integer NOT NULL,
  141. import_key varchar(14) -- import key
  142. ) ENGINE=innodb;
  143. ALTER TABLE llx_mrp_production_extrafields ADD INDEX idx_mrp_production_fk_object(fk_object);