diff --git a/modules/migrations/base/comment.go b/modules/migrations/base/comment.go
index 38c544d6e0..94cbabaae6 100644
--- a/modules/migrations/base/comment.go
+++ b/modules/migrations/base/comment.go
@@ -14,6 +14,7 @@ type Comment struct {
 	PosterName  string
 	PosterEmail string
 	Created     time.Time
+	Updated     time.Time
 	Content     string
 	Reactions   *Reactions
 }
diff --git a/modules/migrations/base/issue.go b/modules/migrations/base/issue.go
index 08d947b05d..b87a7fec62 100644
--- a/modules/migrations/base/issue.go
+++ b/modules/migrations/base/issue.go
@@ -19,6 +19,7 @@ type Issue struct {
 	State       string // closed, open
 	IsLocked    bool
 	Created     time.Time
+	Updated     time.Time
 	Closed      *time.Time
 	Labels      []*Label
 	Reactions   *Reactions
diff --git a/modules/migrations/base/pullrequest.go b/modules/migrations/base/pullrequest.go
index 42456fd314..b1602b8218 100644
--- a/modules/migrations/base/pullrequest.go
+++ b/modules/migrations/base/pullrequest.go
@@ -21,6 +21,7 @@ type PullRequest struct {
 	Milestone      string
 	State          string
 	Created        time.Time
+	Updated        time.Time
 	Closed         *time.Time
 	Labels         []*Label
 	PatchURL       string
diff --git a/modules/migrations/gitea.go b/modules/migrations/gitea.go
index 88414e6cad..0cffd60e84 100644
--- a/modules/migrations/gitea.go
+++ b/modules/migrations/gitea.go
@@ -334,6 +334,7 @@ func (g *GiteaLocalUploader) CreateIssues(issues ...*base.Issue) error {
 			MilestoneID: milestoneID,
 			Labels:      labels,
 			CreatedUnix: timeutil.TimeStamp(issue.Created.Unix()),
+			UpdatedUnix: timeutil.TimeStamp(issue.Updated.Unix()),
 		}
 
 		userid, ok := g.userMap[issue.PosterID]
@@ -408,6 +409,7 @@ func (g *GiteaLocalUploader) CreateComments(comments ...*base.Comment) error {
 			Type:        models.CommentTypeComment,
 			Content:     comment.Content,
 			CreatedUnix: timeutil.TimeStamp(comment.Created.Unix()),
+			UpdatedUnix: timeutil.TimeStamp(comment.Updated.Unix()),
 		}
 
 		if userid > 0 {
@@ -576,6 +578,7 @@ func (g *GiteaLocalUploader) newPullRequest(pr *base.PullRequest) (*models.PullR
 		IsLocked:    pr.IsLocked,
 		Labels:      labels,
 		CreatedUnix: timeutil.TimeStamp(pr.Created.Unix()),
+		UpdatedUnix: timeutil.TimeStamp(pr.Updated.Unix()),
 	}
 
 	userid, ok := g.userMap[pr.PosterID]
diff --git a/modules/migrations/github.go b/modules/migrations/github.go
index fabdb4ae44..9183c9318f 100644
--- a/modules/migrations/github.go
+++ b/modules/migrations/github.go
@@ -385,6 +385,7 @@ func (g *GithubDownloaderV3) GetIssues(page, perPage int) ([]*base.Issue, bool,
 			Milestone:   milestone,
 			State:       *issue.State,
 			Created:     *issue.CreatedAt,
+			Updated:     *issue.UpdatedAt,
 			Labels:      labels,
 			Reactions:   reactions,
 			Closed:      issue.ClosedAt,
@@ -428,6 +429,7 @@ func (g *GithubDownloaderV3) GetComments(issueNumber int64) ([]*base.Comment, er
 				PosterEmail: email,
 				Content:     *comment.Body,
 				Created:     *comment.CreatedAt,
+				Updated:     *comment.UpdatedAt,
 				Reactions:   reactions,
 			})
 		}
@@ -523,6 +525,7 @@ func (g *GithubDownloaderV3) GetPullRequests(page, perPage int) ([]*base.PullReq
 			Milestone:      milestone,
 			State:          *pr.State,
 			Created:        *pr.CreatedAt,
+			Updated:        *pr.UpdatedAt,
 			Closed:         pr.ClosedAt,
 			Labels:         labels,
 			Merged:         merged,
diff --git a/modules/migrations/github_test.go b/modules/migrations/github_test.go
index d2973b7b6c..bf71ab4756 100644
--- a/modules/migrations/github_test.go
+++ b/modules/migrations/github_test.go
@@ -157,6 +157,7 @@ func TestGitHubDownloadRepo(t *testing.T) {
 			PosterName: "guillep2k",
 			State:      "closed",
 			Created:    time.Date(2019, 11, 9, 17, 0, 29, 0, time.UTC),
+			Updated:    time.Date(2019, 11, 12, 20, 29, 53, 0, time.UTC),
 			Labels: []*base.Label{
 				{
 					Name:        "bug",
@@ -189,6 +190,7 @@ func TestGitHubDownloadRepo(t *testing.T) {
 			PosterName: "mrsdizzie",
 			State:      "closed",
 			Created:    time.Date(2019, 11, 12, 21, 0, 6, 0, time.UTC),
+			Updated:    time.Date(2019, 11, 12, 22, 7, 14, 0, time.UTC),
 			Labels: []*base.Label{
 				{
 					Name:        "duplicate",
@@ -219,6 +221,7 @@ func TestGitHubDownloadRepo(t *testing.T) {
 			PosterID:   1669571,
 			PosterName: "mrsdizzie",
 			Created:    time.Date(2019, 11, 12, 21, 0, 13, 0, time.UTC),
+			Updated:    time.Date(2019, 11, 12, 21, 0, 13, 0, time.UTC),
 			Content:    "This is a comment",
 			Reactions: &base.Reactions{
 				TotalCount: 1,
@@ -235,6 +238,7 @@ func TestGitHubDownloadRepo(t *testing.T) {
 			PosterID:   1669571,
 			PosterName: "mrsdizzie",
 			Created:    time.Date(2019, 11, 12, 22, 7, 14, 0, time.UTC),
+			Updated:    time.Date(2019, 11, 12, 22, 7, 14, 0, time.UTC),
 			Content:    "A second comment",
 			Reactions: &base.Reactions{
 				TotalCount: 0,
@@ -266,6 +270,7 @@ func TestGitHubDownloadRepo(t *testing.T) {
 			PosterName: "mrsdizzie",
 			State:      "closed",
 			Created:    time.Date(2019, 11, 12, 21, 21, 43, 0, time.UTC),
+			Updated:    time.Date(2019, 11, 12, 21, 39, 28, 0, time.UTC),
 			Labels: []*base.Label{
 				{
 					Name:        "documentation",
@@ -302,6 +307,7 @@ func TestGitHubDownloadRepo(t *testing.T) {
 			PosterName: "mrsdizzie",
 			State:      "open",
 			Created:    time.Date(2019, 11, 12, 21, 54, 18, 0, time.UTC),
+			Updated:    time.Date(2020, 1, 4, 11, 30, 1, 0, time.UTC),
 			Labels: []*base.Label{
 				{
 					Name:        "bug",