You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by kl...@apache.org on 2023/10/16 12:40:48 UTC

[incubator-devlake] branch main updated: fix: modify _tool_jira_issue_relationships primary key (#6253)

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

klesh pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git


The following commit(s) were added to refs/heads/main by this push:
     new b5824ba33 fix: modify _tool_jira_issue_relationships primary key (#6253)
b5824ba33 is described below

commit b5824ba3332d0ce30176b88d3097fea756113cf3
Author: abeizn <zi...@merico.dev>
AuthorDate: Mon Oct 16 07:40:41 2023 -0500

    fix: modify _tool_jira_issue_relationships primary key (#6253)
    
    * fix: modify _tool_jira_issue_relationships primary key
    
    * fix: ci lint
---
 .../_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),
 	}
 }