This is an automated email from the ASF dual-hosted git repository.

abeizn pushed a commit to branch release-v0.19
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git


The following commit(s) were added to refs/heads/release-v0.19 by this push:
     new a07216901 fix: modify _tool_jira_issue_relationships primary key 
(#6253) (#6256)
a07216901 is described below

commit a07216901ec2713c26ae211beacc69443dcc59a4
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Mon Oct 16 08:00:19 2023 -0500

    fix: modify _tool_jira_issue_relationships primary key (#6253) (#6256)
    
    * fix: modify _tool_jira_issue_relationships primary key
    
    * fix: ci lint
    
    Co-authored-by: abeizn <[email protected]>
---
 .../_tool_jira_issue_relationships.csv             | 30 +++++++++--------
 .../e2e/snapshot_tables/issue_relationships.csv    |  4 +++
 backend/plugins/jira/models/issue_relationship.go  |  4 +--
 ...231016_modify_issue_relationship_primarykey.go} | 39 ++++++++++++++++++----
 .../jira/models/migrationscripts/register.go       |  1 +
 5 files changed, 56 insertions(+), 22 deletions(-)

diff --git 
a/backend/plugins/jira/e2e/snapshot_tables/_tool_jira_issue_relationships.csv 
b/backend/plugins/jira/e2e/snapshot_tables/_tool_jira_issue_relationships.csv
index 9277294ed..bdf836e79 100644
--- 
a/backend/plugins/jira/e2e/snapshot_tables/_tool_jira_issue_relationships.csv
+++ 
b/backend/plugins/jira/e2e/snapshot_tables/_tool_jira_issue_relationships.csv
@@ -1,13 +1,17 @@
-connection_id,issue_id,issue_key,type_id,type_name,inward,outward,inward_issue_id,inward_issue_key,outward_issue_id,outward_issue_key
-2,10802,DZFNK0168-1,10000,Blocks,is blocked by,blocks,10806,DZFNK0168-5,0,
-2,10803,DZFNK0168-2,10000,Blocks,is blocked by,blocks,0,,10823,DZFNK0168-22
-2,10805,DZFNK0168-4,10001,Cloners,is cloned by,clones,0,,10812,DZFNK0168-11
-2,10806,DZFNK0168-5,10002,Duplicate,is duplicated 
by,duplicates,10812,DZFNK0168-11,0,
-2,10812,DZFNK0168-11,10002,Duplicate,is duplicated 
by,duplicates,116583,IP8CUD168-35305,0,
-2,10815,DZFNK0168-14,10002,Duplicate,is duplicated 
by,duplicates,0,,116566,IP8CUD168-35288
-2,10817,DZFNK0168-16,10001,Cloners,is cloned 
by,clones,111957,M2VRIQ168-12985,0,
-2,10818,DZFNK0168-17,10001,Cloners,is cloned 
by,clones,0,,111900,M2VRIQ168-12954
-2,10820,DZFNK0168-19,10003,Relates,relates to,relates to,0,,10822,DZFNK0168-21
-2,10821,DZFNK0168-20,10000,Blocks,is blocked 
by,blocks,116684,IP8CUD168-35406,0,
-2,10822,DZFNK0168-21,10003,Relates,relates to,relates to,10820,DZFNK0168-19,0,
-2,10823,DZFNK0168-22,10000,Blocks,is blocked by,blocks,10803,DZFNK0168-2,0,
+connection_id,issue_id,inward_issue_id,outward_issue_id,issue_key,type_id,type_name,inward,outward,inward_issue_key,outward_issue_key
+2,10802,10806,0,DZFNK0168-1,10000,Blocks,is blocked by,blocks,DZFNK0168-5,
+2,10803,0,10823,DZFNK0168-2,10000,Blocks,is blocked by,blocks,,DZFNK0168-22
+2,10805,0,10812,DZFNK0168-4,10001,Cloners,is cloned by,clones,,DZFNK0168-11
+2,10806,0,10802,DZFNK0168-5,10000,Blocks,is blocked by,blocks,,DZFNK0168-1
+2,10806,10812,0,DZFNK0168-5,10002,Duplicate,is duplicated 
by,duplicates,DZFNK0168-11,
+2,10812,0,10806,DZFNK0168-11,10002,Duplicate,is duplicated 
by,duplicates,,DZFNK0168-5
+2,10812,10805,0,DZFNK0168-11,10001,Cloners,is cloned by,clones,DZFNK0168-4,
+2,10812,116583,0,DZFNK0168-11,10002,Duplicate,is duplicated 
by,duplicates,IP8CUD168-35305,
+2,10815,0,116566,DZFNK0168-14,10002,Duplicate,is duplicated 
by,duplicates,,IP8CUD168-35288
+2,10817,111957,0,DZFNK0168-16,10001,Cloners,is cloned 
by,clones,M2VRIQ168-12985,
+2,10818,0,111900,DZFNK0168-17,10001,Cloners,is cloned 
by,clones,,M2VRIQ168-12954
+2,10820,0,10822,DZFNK0168-19,10003,Relates,relates to,relates to,,DZFNK0168-21
+2,10821,0,116582,DZFNK0168-20,10000,Blocks,is blocked 
by,blocks,,IP8CUD168-35304
+2,10821,116684,0,DZFNK0168-20,10000,Blocks,is blocked 
by,blocks,IP8CUD168-35406,
+2,10822,10820,0,DZFNK0168-21,10003,Relates,relates to,relates to,DZFNK0168-19,
+2,10823,10803,0,DZFNK0168-22,10000,Blocks,is blocked by,blocks,DZFNK0168-2,
diff --git a/backend/plugins/jira/e2e/snapshot_tables/issue_relationships.csv 
b/backend/plugins/jira/e2e/snapshot_tables/issue_relationships.csv
index 1876036a9..15f3b8b67 100644
--- a/backend/plugins/jira/e2e/snapshot_tables/issue_relationships.csv
+++ b/backend/plugins/jira/e2e/snapshot_tables/issue_relationships.csv
@@ -2,12 +2,16 @@ source_issue_id,target_issue_id,original_type
 jira:JiraIssue:2:10802,jira:JiraIssue:2:10806,is blocked by
 jira:JiraIssue:2:10803,jira:JiraIssue:2:10823,blocks
 jira:JiraIssue:2:10805,jira:JiraIssue:2:10812,clones
+jira:JiraIssue:2:10806,jira:JiraIssue:2:10802,blocks
 jira:JiraIssue:2:10806,jira:JiraIssue:2:10812,is duplicated by
+jira:JiraIssue:2:10812,jira:JiraIssue:2:10805,is cloned by
+jira:JiraIssue:2:10812,jira:JiraIssue:2:10806,duplicates
 jira:JiraIssue:2:10812,jira:JiraIssue:2:116583,is duplicated by
 jira:JiraIssue:2:10815,jira:JiraIssue:2:116566,duplicates
 jira:JiraIssue:2:10817,jira:JiraIssue:2:111957,is cloned by
 jira:JiraIssue:2:10818,jira:JiraIssue:2:111900,clones
 jira:JiraIssue:2:10820,jira:JiraIssue:2:10822,relates to
+jira:JiraIssue:2:10821,jira:JiraIssue:2:116582,blocks
 jira:JiraIssue:2:10821,jira:JiraIssue:2:116684,is blocked by
 jira:JiraIssue:2:10822,jira:JiraIssue:2:10820,relates to
 jira:JiraIssue:2:10823,jira:JiraIssue:2:10803,is blocked by
diff --git a/backend/plugins/jira/models/issue_relationship.go 
b/backend/plugins/jira/models/issue_relationship.go
index f96e02a9e..5539dc6a2 100644
--- a/backend/plugins/jira/models/issue_relationship.go
+++ b/backend/plugins/jira/models/issue_relationship.go
@@ -30,9 +30,9 @@ type JiraIssueRelationship struct {
        TypeName        string `gorm:"type:varchar(255)"` // e.g. Blocks
        Inward          string `gorm:"type:varchar(255)"` // e.g. blocks
        Outward         string `gorm:"type:varchar(255)"` // e.g. is blocked by
-       InwardIssueId   uint64 // e.g. 116566
+       InwardIssueId   uint64 `gorm:"primaryKey"`        // e.g. 116566
        InwardIssueKey  string `gorm:"type:varchar(255)"` // e.g. DEV-2
-       OutwardIssueId  uint64 // e.g. 116567
+       OutwardIssueId  uint64 `gorm:"primaryKey"`        // e.g. 116567
        OutwardIssueKey string `gorm:"type:varchar(255)"` // e.g. DEV-3
 }
 
diff --git a/backend/plugins/jira/models/issue_relationship.go 
b/backend/plugins/jira/models/migrationscripts/20231016_modify_issue_relationship_primarykey.go
similarity index 54%
copy from backend/plugins/jira/models/issue_relationship.go
copy to 
backend/plugins/jira/models/migrationscripts/20231016_modify_issue_relationship_primarykey.go
index f96e02a9e..d1c7edd8f 100644
--- a/backend/plugins/jira/models/issue_relationship.go
+++ 
b/backend/plugins/jira/models/migrationscripts/20231016_modify_issue_relationship_primarykey.go
@@ -15,14 +15,20 @@ See the License for the specific language governing 
permissions and
 limitations under the License.
 */
 
-package models
+package migrationscripts
 
 import (
-       "github.com/apache/incubator-devlake/core/models/common"
+       "github.com/apache/incubator-devlake/core/context"
+       "github.com/apache/incubator-devlake/core/errors"
+       
"github.com/apache/incubator-devlake/core/models/migrationscripts/archived"
+       "github.com/apache/incubator-devlake/helpers/migrationhelper"
+       jiraArchived 
"github.com/apache/incubator-devlake/plugins/jira/models/migrationscripts/archived"
 )
 
-type JiraIssueRelationship struct {
-       common.NoPKModel
+type modifyIssueRelationship struct{}
+
+type JiraIssueRelationship20231016 struct {
+       archived.NoPKModel
        ConnectionId    uint64 `gorm:"primaryKey"`
        IssueId         uint64 `gorm:"primarykey"`
        IssueKey        string `gorm:"type:varchar(255)"` // e.g. DEV-1
@@ -30,12 +36,31 @@ type JiraIssueRelationship struct {
        TypeName        string `gorm:"type:varchar(255)"` // e.g. Blocks
        Inward          string `gorm:"type:varchar(255)"` // e.g. blocks
        Outward         string `gorm:"type:varchar(255)"` // e.g. is blocked by
-       InwardIssueId   uint64 // e.g. 116566
+       InwardIssueId   uint64 `gorm:"primaryKey"`        // e.g. 116566
        InwardIssueKey  string `gorm:"type:varchar(255)"` // e.g. DEV-2
-       OutwardIssueId  uint64 // e.g. 116567
+       OutwardIssueId  uint64 `gorm:"primaryKey"`        // e.g. 116567
        OutwardIssueKey string `gorm:"type:varchar(255)"` // e.g. DEV-3
 }
 
-func (JiraIssueRelationship) TableName() string {
+func (JiraIssueRelationship20231016) TableName() string {
        return "_tool_jira_issue_relationships"
 }
+
+func (script *modifyIssueRelationship) Up(basicRes context.BasicRes) 
errors.Error {
+       err := 
basicRes.GetDal().DropTables(&jiraArchived.JiraIssueRelationship{})
+       if err != nil {
+               return err
+       }
+       return migrationhelper.AutoMigrateTables(
+               basicRes,
+               &JiraIssueRelationship20231016{},
+       )
+}
+
+func (*modifyIssueRelationship) Version() uint64 {
+       return 20231016122537
+}
+
+func (*modifyIssueRelationship) Name() string {
+       return "modify _tool_jira_issue_relationships table primary key"
+}
diff --git a/backend/plugins/jira/models/migrationscripts/register.go 
b/backend/plugins/jira/models/migrationscripts/register.go
index 2a8cebf6d..3b2914a9c 100644
--- a/backend/plugins/jira/models/migrationscripts/register.go
+++ b/backend/plugins/jira/models/migrationscripts/register.go
@@ -44,5 +44,6 @@ func All() []plugin.MigrationScript {
                new(addRawParamTableForScope),
                new(addIssueRelationship),
                new(dropIssueAllFields),
+               new(modifyIssueRelationship),
        }
 }

Reply via email to