From c0d302ae0ec245477c7e1c74ffda63e92549a9cf Mon Sep 17 00:00:00 2001 From: Vo Minh Thu Date: Fri, 1 Mar 2013 12:07:30 +0100 Subject: [PATCH] [FIX] ir.model: uninstall should not drop LOG_ACCESS_COLUMNS columns. bzr revid: vmt@openerp.com-20130301110730-8mlnj9emjo3ifdq1 --- openerp/addons/base/ir/ir_model.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index 5927b500a0f..c03d6cfaf78 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -1060,6 +1060,14 @@ class ir_model_data(osv.osv): if set(external_ids)-ids_set: # if other modules have defined this record, we must not delete it continue + if model == 'ir.model.fields': + # Don't remove the LOG_ACCESS_COLUMNS unless _log_access + # has been turned off on the model. + field = self.pool.get(model).browse(cr, uid, [res_id], context=context)[0] + if field.name in openerp.osv.orm.LOG_ACCESS_COLUMNS and self.pool[field.model]._log_access: + continue + if field.name == 'id': + continue _logger.info('Deleting %s@%s', res_id, model) try: cr.execute('SAVEPOINT record_unlink_save')