fix: add NoPKModel to commit_parents (#2654)
diff --git a/models/domainlayer/code/commit_parent.go b/models/domainlayer/code/commit_parent.go
index 610e285..ddae059 100644
--- a/models/domainlayer/code/commit_parent.go
+++ b/models/domainlayer/code/commit_parent.go
@@ -17,7 +17,10 @@
package code
+import "github.com/apache/incubator-devlake/models/common"
+
type CommitParent struct {
+ common.NoPKModel
CommitSha string `json:"commitSha" gorm:"primaryKey;type:varchar(40);comment:commit hash"`
ParentCommitSha string `json:"parentCommitSha" gorm:"primaryKey;type:varchar(40);comment:parent commit hash"`
}
diff --git a/models/migrationscripts/20220801_add_NoPKModel_to_CommitParent.go b/models/migrationscripts/20220801_add_NoPKModel_to_CommitParent.go
new file mode 100644
index 0000000..b65e3e0
--- /dev/null
+++ b/models/migrationscripts/20220801_add_NoPKModel_to_CommitParent.go
@@ -0,0 +1,53 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package migrationscripts
+
+import (
+ "context"
+ "github.com/apache/incubator-devlake/models/common"
+ "gorm.io/gorm"
+)
+
+type commitParent struct {
+ common.NoPKModel
+ CommitSha string `json:"commitSha" gorm:"primaryKey;type:varchar(40);comment:commit hash"`
+ ParentCommitSha string `json:"parentCommitSha" gorm:"primaryKey;type:varchar(40);comment:parent commit hash"`
+}
+
+func (commitParent) TableName() string {
+ return "commit_parents"
+}
+
+type addNoPKModelToCommitParent struct{}
+
+func (*addNoPKModelToCommitParent) Up(ctx context.Context, db *gorm.DB) error {
+ err := db.Migrator().AutoMigrate(&commitParent{})
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (*addNoPKModelToCommitParent) Version() uint64 {
+ return 20220801162735
+}
+
+func (*addNoPKModelToCommitParent) Name() string {
+ return "add NoPKModel to commit_parents"
+}
diff --git a/models/migrationscripts/register.go b/models/migrationscripts/register.go
index 1ddc29d..c49fab8 100644
--- a/models/migrationscripts/register.go
+++ b/models/migrationscripts/register.go
@@ -32,5 +32,6 @@
new(commitfileComponent),
new(removeNotes),
new(addProjectMapping),
+ new(addNoPKModelToCommitParent),
}
}
diff --git a/plugins/gitextractor/parser/repo.go b/plugins/gitextractor/parser/repo.go
index cf1d565..d298d94 100644
--- a/plugins/gitextractor/parser/repo.go
+++ b/plugins/gitextractor/parser/repo.go
@@ -235,7 +235,8 @@
c.CommitterId = committer.Email
c.CommittedDate = committer.When
}
- if err != r.storeParentCommits(commitSha, commit) {
+ err = r.storeParentCommits(commitSha, commit)
+ if err != nil {
return err
}
if commit.ParentCount() > 0 {