details:   https://code.tryton.org/tryton/commit/45ada343ddd4
branch:    7.6
user:      Maxime Richez <[email protected]>
date:      Sat Mar 14 18:09:29 2026 +0100
description:
        Rename also columns in history table when renaming columns

        Closes #14561
        (grafted from 14e25c1bddddbe51ddbae31e3dd6b4cec72d49f5)
diffstat:

 trytond/trytond/backend/postgresql/table.py |  6 ++++++
 trytond/trytond/backend/sqlite/table.py     |  5 +++++
 2 files changed, 11 insertions(+), 0 deletions(-)

diffs (38 lines):

diff -r 6d99667706a6 -r 45ada343ddd4 trytond/trytond/backend/postgresql/table.py
--- a/trytond/trytond/backend/postgresql/table.py       Sat Mar 14 17:35:17 
2026 +0100
+++ b/trytond/trytond/backend/postgresql/table.py       Sat Mar 14 18:09:29 
2026 +0100
@@ -28,6 +28,7 @@
         self.__constraints = None
         self.__fk_deltypes = None
         self.__indexes = None
+        self._model = model
 
         transaction = Transaction()
         cursor = transaction.connection.cursor()
@@ -167,6 +168,11 @@
                         Identifier(old_name),
                         Identifier(new_name)))
                 self._update_definitions(columns=True)
+                if not self.history:
+                    history_table = self.table_name + '__history'
+                    if self.__class__.table_exist(history_table):
+                        history_h = self.__class__(self._model, True)
+                        history_h.column_rename(old_name, new_name)
             else:
                 logger.warning(
                     'Unable to rename column %s on table %s to %s.',
diff -r 6d99667706a6 -r 45ada343ddd4 trytond/trytond/backend/sqlite/table.py
--- a/trytond/trytond/backend/sqlite/table.py   Sat Mar 14 17:35:17 2026 +0100
+++ b/trytond/trytond/backend/sqlite/table.py   Sat Mar 14 18:09:29 2026 +0100
@@ -121,6 +121,11 @@
                     self._update_definitions(columns=True)
                 else:
                     self._recreate_table({old_name: {'name': new_name}})
+                if not self.history:
+                    history_table = self.table_name + '__history'
+                    if self.__class__.table_exist(history_table):
+                        history_h = self.__class__(self._model, True)
+                        history_h.column_rename(old_name, new_name)
             else:
                 logger.warning(
                     'Unable to rename column %s on table %s to %s.',

Reply via email to