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),
}
}