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

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

commit ded8ab6908c926a39b20812f2f878baee1ace91c
Author: tgp <[email protected]>
AuthorDate: Thu May 26 11:11:19 2022 +0800

    modify migrationscripts
---
 plugins/gitlab/impl/impl.go                        |  9 ++-
 .../models/migrationscripts/archived/issue.go      | 33 +++++++++
 .../migrationscripts/archived/issue_label.go       | 15 ++++
 .../migrationscripts/update_schemas20220525.go     | 86 ++++++++++++++++++++++
 4 files changed, 142 insertions(+), 1 deletion(-)

diff --git a/plugins/gitlab/impl/impl.go b/plugins/gitlab/impl/impl.go
index a0ce3091..9101c95e 100644
--- a/plugins/gitlab/impl/impl.go
+++ b/plugins/gitlab/impl/impl.go
@@ -52,6 +52,8 @@ func (plugin Gitlab) SubTaskMetas() []core.SubTaskMeta {
                tasks.ExtractCommitsMeta,
                tasks.CollectTagMeta,
                tasks.ExtractTagMeta,
+               tasks.CollectApiIssuesMeta,
+               tasks.ExtractApiIssuesMeta,
                tasks.CollectApiMergeRequestsMeta,
                tasks.ExtractApiMergeRequestsMeta,
                tasks.CollectApiMergeRequestsNotesMeta,
@@ -64,6 +66,7 @@ func (plugin Gitlab) SubTaskMetas() []core.SubTaskMeta {
                tasks.ExtractApiChildrenOnPipelinesMeta,
                tasks.EnrichMergeRequestsMeta,
                tasks.ConvertProjectMeta,
+               tasks.ConvertIssuesMeta,
                tasks.ConvertApiMergeRequestsMeta,
                tasks.ConvertApiCommitsMeta,
                tasks.ConvertApiNotesMeta,
@@ -96,7 +99,11 @@ func (plugin Gitlab) RootPkgPath() string {
 }
 
 func (plugin Gitlab) MigrationScripts() []migration.Script {
-       return []migration.Script{new(migrationscripts.InitSchemas), 
new(migrationscripts.UpdateSchemas20220510)}
+       return []migration.Script{
+               new(migrationscripts.InitSchemas),
+               new(migrationscripts.UpdateSchemas20220510),
+               new(migrationscripts.UpdateSchemas20220525),
+       }
 }
 
 func (plugin Gitlab) ApiResources() 
map[string]map[string]core.ApiResourceHandler {
diff --git a/plugins/gitlab/models/migrationscripts/archived/issue.go 
b/plugins/gitlab/models/migrationscripts/archived/issue.go
new file mode 100644
index 00000000..ed872cae
--- /dev/null
+++ b/plugins/gitlab/models/migrationscripts/archived/issue.go
@@ -0,0 +1,33 @@
+package archived
+
+import (
+       "github.com/apache/incubator-devlake/models/migrationscripts/archived"
+       "time"
+)
+
+type GitlabIssue struct {
+       GitlabId        int    `gorm:"primaryKey"`
+       ProjectId       int    `gorm:"index"`
+       Number          int    `gorm:"index;comment:Used in API requests ex. 
api/repo/1/issue/<THIS_NUMBER>"`
+       State           string `gorm:"type:varchar(255)"`
+       Title           string
+       Body            string
+       Priority        string `gorm:"type:varchar(255)"`
+       Type            string `gorm:"type:varchar(100)"`
+       Status          string `gorm:"type:varchar(255)"`
+       AssigneeId      int
+       AssigneeName    string `gorm:"type:varchar(255)"`
+       LeadTimeMinutes uint
+       Url             string `gorm:"type:varchar(255)"`
+       ClosedAt        *time.Time
+       GitlabCreatedAt time.Time
+       GitlabUpdatedAt time.Time `gorm:"index"`
+       Severity        string    `gorm:"type:varchar(255)"`
+       Component       string    `gorm:"type:varchar(255)"`
+       TimeEstimate    int64
+       TotalTimeSpent  int64
+       archived.NoPKModel
+}
+func (GitlabIssue) TableName() string {
+       return "_tool_gitlab_issues"
+}
diff --git a/plugins/gitlab/models/migrationscripts/archived/issue_label.go 
b/plugins/gitlab/models/migrationscripts/archived/issue_label.go
new file mode 100644
index 00000000..630dca5d
--- /dev/null
+++ b/plugins/gitlab/models/migrationscripts/archived/issue_label.go
@@ -0,0 +1,15 @@
+package archived
+
+import (
+       "github.com/apache/incubator-devlake/models/migrationscripts/archived"
+)
+
+type GitlabIssueLabel struct {
+       IssueId   int    `gorm:"primaryKey;autoIncrement:false"`
+       LabelName string `gorm:"primaryKey;type:varchar(255)"`
+       archived.NoPKModel
+}
+
+func (GitlabIssueLabel) TableName() string{
+       return "_tool_gitlab_issue_labels"
+}
diff --git a/plugins/gitlab/models/migrationscripts/update_schemas20220525.go 
b/plugins/gitlab/models/migrationscripts/update_schemas20220525.go
new file mode 100644
index 00000000..694d1b93
--- /dev/null
+++ b/plugins/gitlab/models/migrationscripts/update_schemas20220525.go
@@ -0,0 +1,86 @@
+/*
+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 (
+       "context"
+       "github.com/apache/incubator-devlake/models/migrationscripts/archived"
+       "gorm.io/gorm"
+       "time"
+)
+
+type UpdateSchemas20220525 struct{}
+
+type GitlabIssue20220525 struct {
+       GitlabId        int    `gorm:"primaryKey"`
+       ProjectId       int    `gorm:"index"`
+       Number          int    `gorm:"index;comment:Used in API requests ex. 
api/repo/1/issue/<THIS_NUMBER>"`
+       State           string `gorm:"type:varchar(255)"`
+       Title           string
+       Body            string
+       Priority        string `gorm:"type:varchar(255)"`
+       Type            string `gorm:"type:varchar(100)"`
+       Status          string `gorm:"type:varchar(255)"`
+       AssigneeId      int
+       AssigneeName    string `gorm:"type:varchar(255)"`
+       LeadTimeMinutes uint
+       Url             string `gorm:"type:varchar(255)"`
+       ClosedAt        *time.Time
+       GitlabCreatedAt time.Time
+       GitlabUpdatedAt time.Time `gorm:"index"`
+       Severity        string    `gorm:"type:varchar(255)"`
+       Component       string    `gorm:"type:varchar(255)"`
+       TimeEstimate    int64
+       TotalTimeSpent  int64
+       archived.NoPKModel
+}
+func (GitlabIssue20220525) TableName() string {
+       return "_tool_gitlab_issues"
+}
+
+
+type GitlabIssueLabel20220525 struct {
+       IssueId   int    `gorm:"primaryKey;autoIncrement:false"`
+       LabelName string `gorm:"primaryKey;type:varchar(255)"`
+       archived.NoPKModel
+}
+
+func (GitlabIssueLabel20220525) TableName() string{
+       return "_tool_gitlab_issue_labels"
+}
+
+func (*UpdateSchemas20220525) Up(ctx context.Context, db *gorm.DB) error {
+       err := 
db.Migrator().AutoMigrate(GitlabIssue20220525{},GitlabIssueLabel20220525{})
+       if err != nil {
+               return err
+       }
+
+       return nil
+}
+
+func (*UpdateSchemas20220525) Version() uint64 {
+       return 20220510212344
+}
+
+func (*UpdateSchemas20220525) Owner() string {
+       return "Gitlab"
+}
+
+func (*UpdateSchemas20220525) Name() string {
+       return "add gitlab issue"
+}

Reply via email to