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/10/09 04:39:40 UTC
[incubator-devlake] branch release-v0.19 updated: fix: data too long for column file_metrics_key in postgres (#6196) (#6197)
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 186f8f9b0 fix: data too long for column file_metrics_key in postgres (#6196) (#6197)
186f8f9b0 is described below
commit 186f8f9b0dc24eb49b798636541d9938474902a5
Author: github-actions[bot] <41...@users.noreply.github.com>
AuthorDate: Sun Oct 8 23:39:33 2023 -0500
fix: data too long for column file_metrics_key in postgres (#6196) (#6197)
Co-authored-by: abeizn <zi...@merico.dev>
---
.../20230927_modify_file_metrics_key_length.go | 36 ++++++++++++++--------
1 file changed, 23 insertions(+), 13 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 bd62e7cf3..e43aae7cc 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
@@ -18,6 +18,8 @@ limitations under the License.
package migrationscripts
import (
+ "net/url"
+
"github.com/apache/incubator-devlake/core/context"
"github.com/apache/incubator-devlake/core/dal"
"github.com/apache/incubator-devlake/core/errors"
@@ -39,7 +41,24 @@ func (fileMetricsKey20230927) TableName() string {
func (script *modifyFileMetricsKeyLength) Up(basicRes context.BasicRes) errors.Error {
db := basicRes.GetDal()
- tx := db.Begin()
+ dbUrl := basicRes.GetConfig("DB_URL")
+ if dbUrl == "" {
+ return errors.BadInput.New("DB_URL is required")
+ }
+ u, err1 := url.Parse(dbUrl)
+ if err1 != nil {
+ return errors.Convert(err1)
+ }
+ if u.Scheme == "mysql" {
+ if err := db.Exec("ALTER TABLE _tool_sonarqube_file_metrics DROP PRIMARY KEY"); err != nil {
+ return err
+ }
+ } else {
+ if err := db.Exec("ALTER TABLE _tool_sonarqube_file_metrics DROP CONSTRAINT _tool_sonarqube_file_metrics_pkey"); err != nil {
+ return err
+ }
+ }
+
err := migrationhelper.ChangeColumnsType[fileMetricsKey20230927](
basicRes,
script,
@@ -55,21 +74,12 @@ func (script *modifyFileMetricsKeyLength) Up(basicRes context.BasicRes) errors.E
},
)
if err != nil {
- return tx.Rollback()
+ return err
}
- if err = tx.Exec("ALTER TABLE _tool_sonarqube_file_metrics DROP PRIMARY KEY"); err != nil {
- return tx.Rollback()
+ if err := db.Exec("ALTER TABLE _tool_sonarqube_file_metrics ADD PRIMARY KEY (connection_id, file_metrics_key)"); err != nil {
+ return err
}
-
- if err := tx.Exec("ALTER TABLE _tool_sonarqube_file_metrics ADD PRIMARY KEY (connection_id, file_metrics_key)"); err != nil {
- return tx.Rollback()
- }
-
- if err := tx.Commit(); err != nil {
- return tx.Rollback()
- }
-
return nil
}