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

zhangliang2022 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git


The following commit(s) were added to refs/heads/main by this push:
     new af1daac2 fix: add `type` field in `boards` table (#2885)
af1daac2 is described below

commit af1daac23c885b7673e936ec02d7fd234f3f0f9e
Author: tsoc <[email protected]>
AuthorDate: Thu Sep 1 20:58:46 2022 +0800

    fix: add `type` field in `boards` table (#2885)
    
    * fix: add type field in board
    
    * fix: change some data in jira/e2e
    
    * fix: type need varchar(255)
---
 models/domainlayer/ticket/board.go                 |  1 +
 .../20220830_add_type_field_in_board.go}           | 37 ++++++++++++++--------
 models/migrationscripts/register.go                |  1 +
 plugins/jira/e2e/board_test.go                     |  1 +
 plugins/jira/e2e/snapshot_tables/boards.csv        |  4 +--
 plugins/jira/tasks/board_convertor.go              |  1 +
 6 files changed, 30 insertions(+), 15 deletions(-)

diff --git a/models/domainlayer/ticket/board.go 
b/models/domainlayer/ticket/board.go
index bd2ba21b..e128d1db 100644
--- a/models/domainlayer/ticket/board.go
+++ b/models/domainlayer/ticket/board.go
@@ -30,6 +30,7 @@ type Board struct {
        Description string
        Url         string `gorm:"type:varchar(255)"`
        CreatedDate *time.Time
+       Type        string `gorm:"type:varchar(255)"`
 }
 
 func (Board) TableName() string {
diff --git a/models/domainlayer/ticket/board.go 
b/models/migrationscripts/20220830_add_type_field_in_board.go
similarity index 59%
copy from models/domainlayer/ticket/board.go
copy to models/migrationscripts/20220830_add_type_field_in_board.go
index bd2ba21b..aea109b0 100644
--- a/models/domainlayer/ticket/board.go
+++ b/models/migrationscripts/20220830_add_type_field_in_board.go
@@ -15,33 +15,44 @@ See the License for the specific language governing 
permissions and
 limitations under the License.
 */
 
-package ticket
+package migrationscripts
 
 import (
-       "github.com/apache/incubator-devlake/models/common"
+       "context"
+       "github.com/apache/incubator-devlake/models/migrationscripts/archived"
+       "gorm.io/gorm"
        "time"
-
-       "github.com/apache/incubator-devlake/models/domainlayer"
 )
 
-type Board struct {
-       domainlayer.DomainEntity
+type addFieldTask20220830 struct {
+       archived.DomainEntity
        Name        string `gorm:"type:varchar(255)"`
        Description string
        Url         string `gorm:"type:varchar(255)"`
        CreatedDate *time.Time
+       Type        string `gorm:"type:varchar(255)"`
 }
 
-func (Board) TableName() string {
+func (addFieldTask20220830) TableName() string {
        return "boards"
 }
 
-type BoardSprint struct {
-       common.NoPKModel
-       BoardId  string `gorm:"primaryKey;type:varchar(255)"`
-       SprintId string `gorm:"primaryKey;type:varchar(255)"`
+type addTypeFieldInBoard struct{}
+
+func (*addTypeFieldInBoard) Up(ctx context.Context, db *gorm.DB) error {
+
+       err := db.Migrator().AddColumn(addFieldTask20220830{}, "type")
+       if err != nil {
+               return err
+       }
+
+       return nil
+}
+
+func (*addTypeFieldInBoard) Version() uint64 {
+       return 20220830142321
 }
 
-func (BoardSprint) TableName() string {
-       return "board_sprints"
+func (*addTypeFieldInBoard) Name() string {
+       return "add column `type` at boards"
 }
diff --git a/models/migrationscripts/register.go 
b/models/migrationscripts/register.go
index f2285a6d..a7466562 100644
--- a/models/migrationscripts/register.go
+++ b/models/migrationscripts/register.go
@@ -38,5 +38,6 @@ func All() []migration.Script {
                new(addCICD),
                new(renameColumnsOfPrCommentIssueComment),
                new(modifyTablesForDora),
+               new(addTypeFieldInBoard),
        }
 }
diff --git a/plugins/jira/e2e/board_test.go b/plugins/jira/e2e/board_test.go
index 6126bd9d..9a6ed0d0 100644
--- a/plugins/jira/e2e/board_test.go
+++ b/plugins/jira/e2e/board_test.go
@@ -73,6 +73,7 @@ func TestBoardDataFlow(t *testing.T) {
                        "description",
                        "url",
                        "created_date",
+                       "type",
                },
        )
 }
diff --git a/plugins/jira/e2e/snapshot_tables/boards.csv 
b/plugins/jira/e2e/snapshot_tables/boards.csv
index 80891045..b6b96f4b 100644
--- a/plugins/jira/e2e/snapshot_tables/boards.csv
+++ b/plugins/jira/e2e/snapshot_tables/boards.csv
@@ -1,2 +1,2 @@
-id,id,name,description,url,created_date
-jira:JiraBoard:2:8,jira:JiraBoard:2:8,迭代开发看板(停用),,https://merico.atlassian.net/rest/agile/1.0/board/8,
+id,name,description,url,created_date,type
+jira:JiraBoard:2:8,迭代开发看板(停用),,https://merico.atlassian.net/rest/agile/1.0/board/8,,scrum
diff --git a/plugins/jira/tasks/board_convertor.go 
b/plugins/jira/tasks/board_convertor.go
index 4ef0a978..4513ea35 100644
--- a/plugins/jira/tasks/board_convertor.go
+++ b/plugins/jira/tasks/board_convertor.go
@@ -70,6 +70,7 @@ func ConvertBoard(taskCtx core.SubTaskContext) error {
                                DomainEntity: domainlayer.DomainEntity{Id: 
idGen.Generate(data.Options.ConnectionId, data.Options.BoardId)},
                                Name:         board.Name,
                                Url:          board.Self,
+                               Type:         board.Type,
                        }
                        return []interface{}{
                                domainBoard,

Reply via email to