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 {