Forzar un Commit a la Base de Datos
Muchos de nosotros en el ambiente de programación Odoo hemos notado una funcionalidad bastante interesante, poderosa y buena para evitar concurrencia de información basura en el Sistema y es la escritura a la Base de Datos mediante Odoo, durante la ejecución de una función (proceso) Odoo no realiza cambios en la Base de Datos hasta no terminar la ejecución correcta de la misma, si ocurre un error durante la ejecución Odoo hace un reverse a lo que se habĆa realizado anteriormente, asĆ evita que se guarde información basura o se llegaran a duplicar registros.
Esto es muy Ćŗtil, pero en ocasiones llegamos a tener la necesidad de forzar la escritura a la Base de Datos ya sea por el tamaƱo de recursos del Servidor (Memoria RAM), por bloqueos generados por el Servidor PostgreSQL (max_locks_per_transaction) o simplemente queremos que cierta información recabada no se pierda, por ejemplo en la lectura de archivos binarios de una ruta x, que al ser procesados son eliminados del servidor, en este proceso no podemos perder la información ya generada, asĆ que podrĆamos forzar la escritura a la Base de Datos, otro ejemplo podria ser al generar reportes contables en donde la cantidad de información es en volĆŗmenes considerablemente grandes y la memoria podria saturarse.
Para forzar la escritura de la Base de Datos basta con insertar este pequeño fragmente de codigo en la parte de nuestro código donde queremos forzar la escritura:
self.env.cr.commit()











