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

linkinstar pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/answer.git


The following commit(s) were added to refs/heads/dev by this push:
     new 6660cdf6 fix: add missing revision data for default content (fixes 
#1436)
6660cdf6 is described below

commit 6660cdf6e25df42a6e86deca5d25e9817d67a5d2
Author: Krypt0n123 <[email protected]>
AuthorDate: Tue Dec 2 22:59:33 2025 +0800

    fix: add missing revision data for default content (fixes #1436)
---
 internal/migrations/init.go | 95 ++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 94 insertions(+), 1 deletion(-)

diff --git a/internal/migrations/init.go b/internal/migrations/init.go
index 184c986b..8a72794f 100644
--- a/internal/migrations/init.go
+++ b/internal/migrations/init.go
@@ -28,6 +28,7 @@ import (
        "github.com/apache/answer/internal/base/constant"
 
        "github.com/apache/answer/internal/base/data"
+       "github.com/apache/answer/internal/repo/revision"
        "github.com/apache/answer/internal/repo/unique"
        "github.com/apache/answer/internal/schema"
        "github.com/segmentfault/pacman/log"
@@ -311,6 +312,7 @@ func (m *Mentor) initSiteInfoWrite() {
 
 func (m *Mentor) initDefaultContent() {
        uniqueIDRepo := unique.NewUniqueIDRepo(&data.Data{DB: m.engine})
+       revisionRepo := revision.NewRevisionRepo(&data.Data{DB: m.engine}, 
uniqueIDRepo)
        now := time.Now()
 
        tagId, err := uniqueIDRepo.GenUniqueIDStr(m.ctx, 
entity.Tag{}.TableName())
@@ -343,7 +345,7 @@ func (m *Mentor) initDefaultContent() {
                return
        }
 
-       tag := entity.Tag{
+       tag := &entity.Tag{
                ID:            tagId,
                SlugName:      "support",
                DisplayName:   "support",
@@ -419,16 +421,74 @@ func (m *Mentor) initDefaultContent() {
        if m.err != nil {
                return
        }
+       tagContent, err := json.Marshal(tag)
+       if err != nil {
+               m.err = err
+               return
+       }
+       m.err = revisionRepo.AddRevision(m.ctx, &entity.Revision{
+               UserID:   tag.UserID,
+               ObjectID: tag.ID,
+               Title:    tag.SlugName,
+               Content:  string(tagContent),
+               Status:   entity.RevisionReviewPassStatus,
+       }, true)
+       if m.err != nil {
+               return
+       }
+       tagForRevision := &entity.TagSimpleInfoForRevision{
+               ID:              tag.ID,
+               MainTagID:       tag.MainTagID,
+               MainTagSlugName: tag.MainTagSlugName,
+               SlugName:        tag.SlugName,
+               DisplayName:     tag.DisplayName,
+               Recommend:       tag.Recommend,
+               Reserved:        tag.Reserved,
+               RevisionID:      tag.RevisionID,
+       }
 
        _, m.err = m.engine.Context(m.ctx).Insert(q1)
        if m.err != nil {
                return
        }
+       q1Revision := &entity.QuestionWithTagsRevision{
+               Question: *q1,
+               Tags:     []*entity.TagSimpleInfoForRevision{tagForRevision},
+       }
+       q1Content, err := json.Marshal(q1Revision)
+       if err != nil {
+               m.err = err
+               return
+       }
+       m.err = revisionRepo.AddRevision(m.ctx, &entity.Revision{
+               UserID:   q1.UserID,
+               ObjectID: q1.ID,
+               Title:    q1.Title,
+               Content:  string(q1Content),
+               Status:   entity.RevisionReviewPassStatus,
+       }, true)
+       if m.err != nil {
+               return
+       }
 
        _, m.err = m.engine.Context(m.ctx).Insert(a1)
        if m.err != nil {
                return
        }
+       a1Content, err := json.Marshal(a1)
+       if err != nil {
+               m.err = err
+               return
+       }
+       m.err = revisionRepo.AddRevision(m.ctx, &entity.Revision{
+               UserID:   a1.UserID,
+               ObjectID: a1.ID,
+               Content:  string(a1Content),
+               Status:   entity.RevisionReviewPassStatus,
+       }, true)
+       if m.err != nil {
+               return
+       }
 
        _, m.err = m.engine.Context(m.ctx).Insert(entity.TagRel{
                ObjectID: q1.ID,
@@ -443,11 +503,44 @@ func (m *Mentor) initDefaultContent() {
        if m.err != nil {
                return
        }
+       q2Revision := &entity.QuestionWithTagsRevision{
+               Question: *q2,
+               Tags:     []*entity.TagSimpleInfoForRevision{tagForRevision},
+       }
+       q2Content, err := json.Marshal(q2Revision)
+       if err != nil {
+               m.err = err
+               return
+       }
+       m.err = revisionRepo.AddRevision(m.ctx, &entity.Revision{
+               UserID:   q2.UserID,
+               ObjectID: q2.ID,
+               Title:    q2.Title,
+               Content:  string(q2Content),
+               Status:   entity.RevisionReviewPassStatus,
+       }, true)
+       if m.err != nil {
+               return
+       }
 
        _, m.err = m.engine.Context(m.ctx).Insert(a2)
        if m.err != nil {
                return
        }
+       a2Content, err := json.Marshal(a2)
+       if err != nil {
+               m.err = err
+               return
+       }
+       m.err = revisionRepo.AddRevision(m.ctx, &entity.Revision{
+               UserID:   a2.UserID,
+               ObjectID: a2.ID,
+               Content:  string(a2Content),
+               Status:   entity.RevisionReviewPassStatus,
+       }, true)
+       if m.err != nil {
+               return
+       }
 
        _, m.err = m.engine.Context(m.ctx).Insert(entity.TagRel{
                ObjectID: q2.ID,

Reply via email to