You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bloodhound.apache.org by ju...@apache.org on 2013/01/23 14:24:12 UTC

svn commit: r1437383 - /incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/multiproduct/api.py

Author: jure
Date: Wed Jan 23 13:24:12 2013
New Revision: 1437383

URL: http://svn.apache.org/viewvc?rev=1437383&view=rev
Log:
#115, ProductSetting table should be introduced as part of the environment upgrade and not as part of initial database schema so that existing environments can be upgraded


Modified:
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/multiproduct/api.py

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/multiproduct/api.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/multiproduct/api.py?rev=1437383&r1=1437382&r2=1437383&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/multiproduct/api.py (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/multiproduct/api.py Wed Jan 23 13:24:12 2013
@@ -33,7 +33,7 @@ from trac.web.chrome import ITemplatePro
 
 from multiproduct.model import Product, ProductResourceMap, ProductSetting
 
-DB_VERSION = 3
+DB_VERSION = 4
 DB_SYSTEM_KEY = 'bloodhound_multi_product_version'
 PLUGIN_NAME = 'Bloodhound multi product'
 
@@ -44,7 +44,7 @@ class MultiProductSystem(Component):
             IPermissionRequestor, ITicketFieldProvider, IResourceManager)
     
     SCHEMA = [mcls._get_schema() \
-              for mcls in (Product, ProductResourceMap, ProductSetting)]
+              for mcls in (Product, ProductResourceMap)]
 
     def get_version(self):
         """Finds the current version of the bloodhound database schema"""
@@ -191,6 +191,14 @@ class MultiProductSystem(Component):
                         insert_with_product(table, p[0])
                 db_installed_version = self._update_db_version(db, 3)
 
+            if db_installed_version < 4:
+                self.log.debug("creating additional db tables for %s plugin." %
+                               PLUGIN_NAME)
+                db_connector, dummy = DatabaseManager(self.env)._get_connector()
+                for statement in db_connector.to_sql(ProductSetting._get_schema()):
+                    db(statement)
+                db_installed_version = self._update_db_version(db, 4)
+
     # ITemplateProvider methods
     def get_templates_dirs(self):
         """provide the plugin templates"""