From 4b544552d369d2daf1e337c1c986d0b993296021 Mon Sep 17 00:00:00 2001 From: DoDiODev Date: Tue, 14 Jul 2026 14:13:25 +0200 Subject: [PATCH] fix(jira): change _tool_jira_issues.fix_versions column to text The `fix_versions` field on the jira issue model is declared as `gorm:"type:text"`, but the original migration (20250619_add_fix_versions_to_issue) created the column as `varchar(255)`. Installations that ran the earlier migration therefore have a `varchar(255)` column that no longer matches the model and truncates long fix version lists. This migration alters `_tool_jira_issues.fix_versions` to `text` so the database schema matches the model definition and can store values longer than 255 characters. Signed-off-by: DoDiODev --- .../20260707_change_fix_versions_to_text.go | 46 +++++++++++++++++++ .../jira/models/migrationscripts/register.go | 1 + 2 files changed, 47 insertions(+) create mode 100644 backend/plugins/jira/models/migrationscripts/20260707_change_fix_versions_to_text.go diff --git a/backend/plugins/jira/models/migrationscripts/20260707_change_fix_versions_to_text.go b/backend/plugins/jira/models/migrationscripts/20260707_change_fix_versions_to_text.go new file mode 100644 index 00000000000..23b37dab081 --- /dev/null +++ b/backend/plugins/jira/models/migrationscripts/20260707_change_fix_versions_to_text.go @@ -0,0 +1,46 @@ +/* +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/helpers/migrationhelper" +) + +type jiraIssue20260707 struct { + FixVersions string `gorm:"type:text;column:fix_versions"` +} + +func (jiraIssue20260707) TableName() string { + return "_tool_jira_issues" +} + +type changeFixVersionsToText20260707 struct{} + +func (script *changeFixVersionsToText20260707) Up(basicRes context.BasicRes) errors.Error { + return migrationhelper.AutoMigrateTables(basicRes, &jiraIssue20260707{}) +} + +func (*changeFixVersionsToText20260707) Version() uint64 { + return 20260707140000 +} + +func (*changeFixVersionsToText20260707) Name() string { + return "change fix_versions type to text in _tool_jira_issues" +} diff --git a/backend/plugins/jira/models/migrationscripts/register.go b/backend/plugins/jira/models/migrationscripts/register.go index 0ee1243dd7c..379d54f8964 100644 --- a/backend/plugins/jira/models/migrationscripts/register.go +++ b/backend/plugins/jira/models/migrationscripts/register.go @@ -56,6 +56,7 @@ func All() []plugin.MigrationScript { new(updateScopeConfig), new(addFixVersions20250619), new(addSubQueryToBoards), + new(changeFixVersionsToText20260707), new(addExtraJQLToScopeConfig), } }