code.gitea.io/gitea@v1.21.7/models/migrations/v1_17/v220.go (about)

     1  // Copyright 2022 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package v1_17 //nolint
     5  
     6  import (
     7  	packages_model "code.gitea.io/gitea/models/packages"
     8  	container_module "code.gitea.io/gitea/modules/packages/container"
     9  
    10  	"xorm.io/xorm"
    11  	"xorm.io/xorm/schemas"
    12  )
    13  
    14  func AddContainerRepositoryProperty(x *xorm.Engine) (err error) {
    15  	switch x.Dialect().URI().DBType {
    16  	case schemas.SQLITE:
    17  		_, err = x.Exec("INSERT INTO package_property (ref_type, ref_id, name, value) SELECT ?, p.id, ?, u.lower_name || '/' || p.lower_name FROM package p JOIN `user` u ON p.owner_id = u.id WHERE p.type = ?",
    18  			packages_model.PropertyTypePackage, container_module.PropertyRepository, packages_model.TypeContainer)
    19  	case schemas.MSSQL:
    20  		_, err = x.Exec("INSERT INTO package_property (ref_type, ref_id, name, value) SELECT ?, p.id, ?, u.lower_name + '/' + p.lower_name FROM package p JOIN `user` u ON p.owner_id = u.id WHERE p.type = ?",
    21  			packages_model.PropertyTypePackage, container_module.PropertyRepository, packages_model.TypeContainer)
    22  	default:
    23  		_, err = x.Exec("INSERT INTO package_property (ref_type, ref_id, name, value) SELECT ?, p.id, ?, CONCAT(u.lower_name, '/', p.lower_name) FROM package p JOIN `user` u ON p.owner_id = u.id WHERE p.type = ?",
    24  			packages_model.PropertyTypePackage, container_module.PropertyRepository, packages_model.TypeContainer)
    25  	}
    26  	return err
    27  }