-
Type:
Bug
-
Resolution: Duplicate
-
Priority:
Medium
-
None
-
Affects Version/s: 3.0.2
-
Component/s: Infrastructure & Services - Application Lifecycle
-
3
JIRA entity model contains relations that result in generation of foreign keys that reference non-unique, non-primarykey fields. This is against the foreign key semantics and is not allowed at least in Oracle database. After fixing all the relations to have a unique name, there were 11 relations for which foreign keys couldn't be created.
For example:
<entity entity-name="Status" table-name="issuestatus" package-name="">
...
<relation type="one" title="Child" rel-entity-name="Issue">
<key-map field-name="id" rel-field-name="status"/>
</relation>
</entity>
This relation results in the following fk-clause (with fk-name set as 'status_childissue_fk'):
ALTER TABLE issuestatus ADD CONSTRAINT Status_ChildIssue_fk FOREIGN KEY (ID) REFERENCES jiraissue (issuestatus) INITIALLY DEFERRED
I can't see any logic in that relation. Status does not have a childissue. There should be a relation the other way though, to ensure referential integrity of issue status. This would result in something like:
ALTER TABLE jiraissue ADD CONSTRAINT ISSUE_STATUS_FK FOREIGN KEY (issuestatus) REFERENCES issuestatus (id) INITIALLY DEFERRED
- is related to
-
JRASERVER-5260 Automatic creation of foreign keys and indices fails on Oracle database
- Closed