gitea源码

12345678910111213141516171819202122232425
  1. // Copyright 2025 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package versioned_migration
  4. import (
  5. "context"
  6. "code.gitea.io/gitea/models/migrations"
  7. "code.gitea.io/gitea/modules/globallock"
  8. "xorm.io/xorm"
  9. )
  10. func Migrate(ctx context.Context, x *xorm.Engine) error {
  11. // only one instance can do the migration at the same time if there are multiple instances
  12. release, err := globallock.Lock(ctx, "gitea_versioned_migration")
  13. if err != nil {
  14. return err
  15. }
  16. defer release()
  17. return migrations.Migrate(ctx, x)
  18. }