code.gitea.io/gitea@v1.21.7/models/migrations/v1_12/v127.go (about)

     1  // Copyright 2020 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package v1_12 //nolint
     5  
     6  import (
     7  	"fmt"
     8  
     9  	"code.gitea.io/gitea/modules/timeutil"
    10  
    11  	"xorm.io/xorm"
    12  )
    13  
    14  func AddLanguageStats(x *xorm.Engine) error {
    15  	// LanguageStat see models/repo_language_stats.go
    16  	type LanguageStat struct {
    17  		ID          int64 `xorm:"pk autoincr"`
    18  		RepoID      int64 `xorm:"UNIQUE(s) INDEX NOT NULL"`
    19  		CommitID    string
    20  		IsPrimary   bool
    21  		Language    string             `xorm:"VARCHAR(30) UNIQUE(s) INDEX NOT NULL"`
    22  		Percentage  float32            `xorm:"NUMERIC(5,2) NOT NULL DEFAULT 0"`
    23  		Color       string             `xorm:"-"`
    24  		CreatedUnix timeutil.TimeStamp `xorm:"INDEX CREATED"`
    25  	}
    26  
    27  	type RepoIndexerType int
    28  
    29  	// RepoIndexerStatus see models/repo_stats_indexer.go
    30  	type RepoIndexerStatus struct {
    31  		ID          int64           `xorm:"pk autoincr"`
    32  		RepoID      int64           `xorm:"INDEX(s)"`
    33  		CommitSha   string          `xorm:"VARCHAR(40)"`
    34  		IndexerType RepoIndexerType `xorm:"INDEX(s) NOT NULL DEFAULT 0"`
    35  	}
    36  
    37  	if err := x.Sync(new(LanguageStat)); err != nil {
    38  		return fmt.Errorf("Sync: %w", err)
    39  	}
    40  	if err := x.Sync(new(RepoIndexerStatus)); err != nil {
    41  		return fmt.Errorf("Sync: %w", err)
    42  	}
    43  	return nil
    44  }