View source | View content page | Page history | Printable version   

Projects:Openbravo Tree Migration



This project will address the last remaining part of the Tree Extension project: the migration of the existing Openbravo trees.

New ADTable Structure

Up until now the treetype column of the ad_tree table was used to associate each ad_tree with its corresponding ad_table. The treetype uses AD_TreeType list reference. This list reference used to contain all the possible tree types. No two tables could share the same treetype.

The new tree infrastructure is not going to use the AD_TreeType list. Now there is an entity for the defined tree types called ADTreeType. Each table can now have several ADTreeTypes associated to it, but only one of them using the ADTree tree structure. An ad_table_id column has been added to the ad_tree table to associate each adtree with its table, making the treetype column effectively deprecated.

Creation and deletion of nodes

The Tree Extension project provides a handler that automatically creates and deletes adtree nodes. Current Openbravo trees do this handling using triggers. We don't want to change that, so a new flag will be added to specify if the creation and deletion of adtree nodes should be handled automatically.

Steps to migrate the existing Openbravo trees

update ad_tree as tr set ad_table_id = (select ad_table_id from ad_table ta where ta.treetype = tr.treetype ) where ad_table_id is null;

Tree Reference

Tree references will be created for all the current tree tables, but they will not be assigned to any columns yet.

QA & Testing

To check:

Retrieved from ""

This page has been accessed 512 times. This page was last modified on 19 February 2014, at 13:08. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.