← Back to team overview

openerp-community-reviewer team mailing list archive

[Merge] lp:~hbee/ocb-server/backport-fkc-9f77d2e2f4b580e2fb0 into lp:ocb-server/6.1

 

Paulius Sladkevičius @ hbee has proposed merging lp:~hbee/ocb-server/backport-fkc-9f77d2e2f4b580e2fb0 into lp:ocb-server/6.1.

Requested reviews:
  OpenERP Community Backports (ocb): code review

For more details, see:
https://code.launchpad.net/~hbee/ocb-server/backport-fkc-9f77d2e2f4b580e2fb0/+merge/237816

Backport of adding foreign key constrains if they are missing.

https://github.com/odoo/odoo/commit/9f77d2e2f4b580e2fb07bc044c875dfd30008f44#diff-75b1bb13c953040fd58c091ebd721569L2936
-- 
https://code.launchpad.net/~hbee/ocb-server/backport-fkc-9f77d2e2f4b580e2fb0/+merge/237816
Your team OpenERP Community Backports is requested to review the proposed merge of lp:~hbee/ocb-server/backport-fkc-9f77d2e2f4b580e2fb0 into lp:ocb-server/6.1.
=== modified file 'openerp/osv/orm.py'
--- openerp/osv/orm.py	2013-09-10 14:15:41 +0000
+++ openerp/osv/orm.py	2014-10-09 16:42:54 +0000
@@ -2782,15 +2782,18 @@
                     _schema.debug("Table '%s': dropping obsolete FK constraint: '%s'",
                                   source_table, cons['constraint_name'])
                     self._drop_constraint(cr, source_table, cons['constraint_name'])
-                    self._m2o_add_foreign_key_checked(source_field, dest_model, ondelete)
-                # else it's all good, nothing to do!
+                else:
+                    # it's all good, nothing to do!
+                    return 
             else:
                 # Multiple FKs found for the same field, drop them all, and re-create
                 for cons in constraints:
                     _schema.debug("Table '%s': dropping duplicate FK constraints: '%s'",
                                   source_table, cons['constraint_name'])
                     self._drop_constraint(cr, source_table, cons['constraint_name'])
-                self._m2o_add_foreign_key_checked(source_field, dest_model, ondelete)
+
+        # (re-)create the FK
+        self._m2o_add_foreign_key_checked(source_field, dest_model, ondelete)
 
 
 


Follow ups