You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by ab...@apache.org on 2023/09/27 10:36:58 UTC

[incubator-devlake] branch fix#6150 updated: fix: primaryKey

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

abeizn pushed a commit to branch fix#6150
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git


The following commit(s) were added to refs/heads/fix#6150 by this push:
     new 1615e479b fix: primaryKey
1615e479b is described below

commit 1615e479b2e5849b049a58a16ce3f36a8783878e
Author: abeizn <zi...@merico.dev>
AuthorDate: Wed Sep 27 18:36:46 2023 +0800

    fix: primaryKey
---
 .../20230927_modify_file_metrics_key_length.go            | 15 ++++++++++++---
 .../plugins/sonarqube/models/sonarqube_file_metrics.go    |  6 +++---
 2 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/backend/plugins/sonarqube/models/migrationscripts/20230927_modify_file_metrics_key_length.go b/backend/plugins/sonarqube/models/migrationscripts/20230927_modify_file_metrics_key_length.go
index dd1c5cfa9..5a60f4945 100644
--- a/backend/plugins/sonarqube/models/migrationscripts/20230927_modify_file_metrics_key_length.go
+++ b/backend/plugins/sonarqube/models/migrationscripts/20230927_modify_file_metrics_key_length.go
@@ -30,7 +30,7 @@ var _ plugin.MigrationScript = (*modifyFileMetricsKeyLength)(nil)
 type modifyFileMetricsKeyLength struct{}
 
 type fileMetricsKey20230927 struct {
-	FileMetricsKey string `gorm:"type:varchar(500);primary_key"`
+	FileMetricsKey string `gorm:"primaryKey;type:varchar(500)"`
 }
 
 func (fileMetricsKey20230927) TableName() string {
@@ -39,7 +39,7 @@ func (fileMetricsKey20230927) TableName() string {
 
 func (script *modifyFileMetricsKeyLength) Up(basicRes context.BasicRes) errors.Error {
 	db := basicRes.GetDal()
-	return migrationhelper.ChangeColumnsType[fileMetricsKey20230927](
+	err := migrationhelper.ChangeColumnsType[fileMetricsKey20230927](
 		basicRes,
 		script,
 		fileMetricsKey20230927{}.TableName(),
@@ -53,10 +53,19 @@ func (script *modifyFileMetricsKeyLength) Up(basicRes context.BasicRes) errors.E
 			)
 		},
 	)
+	if err != nil {
+		return err
+	}
+	err = db.Exec("ALTER TABLE _tool_sonarqube_file_metrics DROP PRIMARY KEY;")
+	if err != nil {
+		return err
+	}
+
+	return db.Exec("ALTER TABLE _tool_sonarqube_file_metrics ADD PRIMARY KEY (connection_id, file_metrics_key)")
 }
 
 func (*modifyFileMetricsKeyLength) Version() uint64 {
-	return 20230927145125
+	return 20230927145127
 }
 
 func (*modifyFileMetricsKeyLength) Name() string {
diff --git a/backend/plugins/sonarqube/models/sonarqube_file_metrics.go b/backend/plugins/sonarqube/models/sonarqube_file_metrics.go
index e5bae3671..a7acef9c1 100644
--- a/backend/plugins/sonarqube/models/sonarqube_file_metrics.go
+++ b/backend/plugins/sonarqube/models/sonarqube_file_metrics.go
@@ -23,7 +23,7 @@ import (
 
 type SonarqubeFileMetrics struct {
 	ConnectionId             uint64 `gorm:"primaryKey"`
-	FileMetricsKey           string `gorm:"type:varchar(500);primary_key"`
+	FileMetricsKey           string `gorm:"primaryKey;type:varchar(500)"`
 	ProjectKey               string `gorm:"index"`
 	FileName                 string
 	FilePath                 string
@@ -51,7 +51,7 @@ func (SonarqubeFileMetrics) TableName() string {
 
 type SonarqubeAdditionalFileMetrics struct {
 	ConnectionId                        uint64 `gorm:"primaryKey"`
-	FileMetricsKey                      string `gorm:"type:varchar(500);primary_key"`
+	FileMetricsKey                      string `gorm:"primaryKey;type:varchar(500)"`
 	DuplicatedFiles                     int
 	DuplicatedLines                     int
 	EffortToReachMaintainabilityRatingA int
@@ -69,7 +69,7 @@ func (SonarqubeAdditionalFileMetrics) TableName() string {
 
 type SonarqubeWholeFileMetrics struct {
 	ConnectionId                        uint64 `gorm:"primaryKey"`
-	FileMetricsKey                      string `gorm:"type:varchar(500);primary_key"`
+	FileMetricsKey                      string `gorm:"primaryKey;type:varchar(500)"`
 	ProjectKey                          string `gorm:"index"`
 	FileName                            string `gorm:"type:varchar(255)"`
 	FilePath                            string