Page "Proposals/BEP-0003" was changed by jure
Diff URL: 
<https://issues.apache.org/bloodhound/wiki/Proposals/BEP-0003?action=diff&version=17>
Revision 17
Changes:
-------8<------8<------8<------8<------8<------8<------8<------8<--------
Index: Proposals/BEP-0003
=========================================================================
--- Proposals/BEP-0003 (version: 16)
+++ Proposals/BEP-0003 (version: 17)
@@ -94,6 +94,23 @@
 
 [=#product-env-idem] The following methods and options will behave exactly the 
same as the corresponding `parent_env`'s methods: ''get_system_info'' , 
''components_section'' , '''TODO''' .
 
+=== Database schema changes #database-schema-changes
+
+Products shall become a first-class citizen in ''Bloodhound''. To make this 
possible, some changes will be required at the database schema level, 
especially as multiple product environments are meant to be hosted in the same 
database instance.
+
+Currently, products are only supported in relation to tickets. Current 
implementation of `bloodhound_multiproduct` plugin extends the `ticket` table 
by adding custom field `product`. This field is used to reference products as 
defined in the `bloodhound_product` table.
+
+In addition to tickets, other entities should also be made ''product aware''. 
The product support should be, in a similar way to tickets, extended to (at 
least) the following database entities within ''Bloodhound'':
+* versions
+* milestones
+* components
+* priorities
+* ...
+
+This could be accomplished using the same approach as used in relation to 
tickets - by extending the database tables with the 'product' field that would 
reference the product that the specified entities belong to.
+
+Another change required is the change of the fore mentioned table keys. As it 
currently stands, the key used in these tables is limited to the 'name' field. 
As this (in the modified schema) prevents users from creating 
versions/milestones/... with the same name for different products, key should 
be extended with the 'product' field.
+
 == Rationale #rationale
 
 The following is a list of proposed features for multi product support in 
''Bloodhound''. Goals related to compatibility are considered in 
[#backwards-compatibility Backwards compatibility] below. In each case you'll 
find notes explaining how candidate implementation will solve related issues. 
-------8<------8<------8<------8<------8<------8<------8<------8<--------

--
Page URL: <https://issues.apache.org/bloodhound/wiki/Proposals/BEP-0003>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound (incubating) issue tracker

This is an automated message. Someone added your email address to be
notified of changes on 'Proposals/BEP-0003' page.
If it was not you, please report to .

Reply via email to