From 89db077280cebb276a581a19aed62cc529d21cd4 Mon Sep 17 00:00:00 2001 From: Alexandre SPANGARO Date: Mon, 6 Oct 2025 18:04:11 +0200 Subject: [PATCH] SQL Accountancy - Add a table to manage transaction (#35642) * SQL Accountancy - Add a table to manage transaction * fix PR * Update 22.0.0-23.0.0.sql * Update llx_accounting_bookkeeping_piece.key.sql --------- Co-authored-by: Laurent Destailleur --- .../install/mysql/migration/22.0.0-23.0.0.sql | 30 +++++++++++++- .../llx_accounting_bookkeeping_piece.key.sql | 24 ++++++++++++ .../llx_accounting_bookkeeping_piece.sql | 39 +++++++++++++++++++ 3 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 htdocs/install/mysql/tables/llx_accounting_bookkeeping_piece.key.sql create mode 100644 htdocs/install/mysql/tables/llx_accounting_bookkeeping_piece.sql diff --git a/htdocs/install/mysql/migration/22.0.0-23.0.0.sql b/htdocs/install/mysql/migration/22.0.0-23.0.0.sql index 50302975a80..adb89941425 100644 --- a/htdocs/install/mysql/migration/22.0.0-23.0.0.sql +++ b/htdocs/install/mysql/migration/22.0.0-23.0.0.sql @@ -200,6 +200,34 @@ create table llx_categorie_supplier_proposal import_key varchar(14) )ENGINE=innodb; -ALTER TABLE llx_mailing ADD COLUMN fk_project integer DEFAULT NULL; +CREATE TABLE llx_accounting_bookkeeping_piece +( + rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY, + entity integer DEFAULT 1 NOT NULL, + ref varchar(255), + tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + datec datetime, + datep date NOT NULL, + statut smallint DEFAULT 0, + note_private text, + note_public text, + + fk_user_author integer, + fk_user_modif integer, + fk_user_valid integer, + fk_user_closing integer, + + import_key varchar(14), + extraparams varchar(255) +) ENGINE=innodb; + +ALTER TABLE llx_accounting_bookkeeping_piece ADD UNIQUE INDEX uk_accounting_bookkeeping_piece_ref (ref, entity); + +ALTER TABLE llx_accounting_bookkeeping_piece ADD INDEX idx_accounting_bookkeeping_piece_fk_user_author (fk_user_author); +ALTER TABLE llx_accounting_bookkeeping_piece ADD INDEX idx_accounting_bookkeeping_piece_fk_user_modif (fk_user_modif); +ALTER TABLE llx_accounting_bookkeeping_piece ADD INDEX idx_accounting_bookkeeping_piece_fk_user_valid (fk_user_valid); +ALTER TABLE llx_accounting_bookkeeping_piece ADD INDEX idx_accounting_bookkeeping_piece_fk_user_closing (fk_user_closing); + +ALTER TABLE llx_mailing ADD COLUMN fk_project integer DEFAULT NULL; -- end of migration diff --git a/htdocs/install/mysql/tables/llx_accounting_bookkeeping_piece.key.sql b/htdocs/install/mysql/tables/llx_accounting_bookkeeping_piece.key.sql new file mode 100644 index 00000000000..d7314115e62 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_accounting_bookkeeping_piece.key.sql @@ -0,0 +1,24 @@ +-- ============================================================================ +-- Copyright (C) 2025 Alexandre Spangaro +-- +-- 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 3 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_accounting_bookkeeping_piece ADD UNIQUE INDEX uk_accounting_bookkeeping_piece_ref (ref, entity); + +ALTER TABLE llx_accounting_bookkeeping_piece ADD INDEX idx_accounting_bookkeeping_piece_fk_user_author (fk_user_author); +ALTER TABLE llx_accounting_bookkeeping_piece ADD INDEX idx_accounting_bookkeeping_piece_fk_user_modif (fk_user_modif); +ALTER TABLE llx_accounting_bookkeeping_piece ADD INDEX idx_accounting_bookkeeping_piece_fk_user_valid (fk_user_valid); +ALTER TABLE llx_accounting_bookkeeping_piece ADD INDEX idx_accounting_bookkeeping_piece_fk_user_closing (fk_user_closing); diff --git a/htdocs/install/mysql/tables/llx_accounting_bookkeeping_piece.sql b/htdocs/install/mysql/tables/llx_accounting_bookkeeping_piece.sql new file mode 100644 index 00000000000..feec464a411 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_accounting_bookkeeping_piece.sql @@ -0,0 +1,39 @@ +-- ============================================================================ +-- Copyright (C) 2025 Alexandre Spangaro +-- +-- 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 3 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_accounting_bookkeeping_piece +( + rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY, + entity integer DEFAULT 1 NOT NULL, + ref varchar(255), + tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + datec datetime, + datep date NOT NULL, + statut smallint DEFAULT 0, + + note_private text, + note_public text, + + fk_user_author integer, + fk_user_modif integer, + fk_user_valid integer, + fk_user_closing integer, + + import_key varchar(14), + extraparams varchar(255) +) ENGINE=innodb;