diff --git a/backend/plugins/bamboo/models/migrationscripts/20231121_add_missing_primary_key.go b/backend/plugins/bamboo/models/migrationscripts/20231121_add_missing_primary_key.go new file mode 100644 index 00000000000..25d5819995a --- /dev/null +++ b/backend/plugins/bamboo/models/migrationscripts/20231121_add_missing_primary_key.go @@ -0,0 +1,59 @@ +/* +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 ( + "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/core/plugin" +) + +var _ plugin.MigrationScript = (*addMissingPrimaryKeyForBambooPlanBuildVcsRevision)(nil) + +type addMissingPrimaryKeyForBambooPlanBuildVcsRevision struct{} + +func (*addMissingPrimaryKeyForBambooPlanBuildVcsRevision) Up(basicRes context.BasicRes) errors.Error { + db := basicRes.GetDal() + if err := db.DropTables(&BambooPlanBuildVcsRevision20231121{}); err != nil { + return err + } + return db.AutoMigrate(&BambooPlanBuildVcsRevision20231121{}) +} + +func (*addMissingPrimaryKeyForBambooPlanBuildVcsRevision) Version() uint64 { + return 20231121101000 +} + +func (*addMissingPrimaryKeyForBambooPlanBuildVcsRevision) Name() string { + return "add missing primary key plan_result_key for table _tool_bamboo_plan_build_commits" +} + +type BambooPlanBuildVcsRevision20231121 struct { + ConnectionId uint64 `gorm:"primaryKey"` + PlanBuildKey string `gorm:"primaryKey"` + PlanResultKey string `gorm:"primaryKey"` + RepositoryId int + RepositoryName string `json:"repositoryName"` + VcsRevisionKey string `gorm:"primaryKey"` + archived.NoPKModel +} + +func (BambooPlanBuildVcsRevision20231121) TableName() string { + return "_tool_bamboo_plan_build_commits" +} diff --git a/backend/plugins/bamboo/models/migrationscripts/register.go b/backend/plugins/bamboo/models/migrationscripts/register.go index 1593ef6df95..32e28d8d3b5 100644 --- a/backend/plugins/bamboo/models/migrationscripts/register.go +++ b/backend/plugins/bamboo/models/migrationscripts/register.go @@ -35,5 +35,6 @@ func All() []plugin.MigrationScript { new(renameToolBambooDeployBuild20230919), new(renameToolBambooDeployEnvironments20230919), new(renameMultiBambooRawTables20230920), + new(addMissingPrimaryKeyForBambooPlanBuildVcsRevision), } }