2018-10-31 06:14:42 +03:00
// Copyright 2018 The Gitea Authors. All rights reserved.
2022-11-27 21:20:29 +03:00
// SPDX-License-Identifier: MIT
2018-10-31 06:14:42 +03:00
package cmd
import (
2019-12-15 12:51:28 +03:00
"context"
2021-09-19 14:49:59 +03:00
"code.gitea.io/gitea/models/db"
2018-10-31 06:14:42 +03:00
"code.gitea.io/gitea/models/migrations"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
2023-07-21 12:28:19 +03:00
"github.com/urfave/cli/v2"
2018-10-31 06:14:42 +03:00
)
// CmdMigrate represents the available migrate sub-command.
2023-07-21 12:28:19 +03:00
var CmdMigrate = & cli . Command {
2018-10-31 06:14:42 +03:00
Name : "migrate" ,
Usage : "Migrate the database" ,
2024-08-30 13:11:23 +03:00
Description : "This is a command for migrating the database, so that you can run gitea admin user create before starting the server." ,
2018-10-31 06:14:42 +03:00
Action : runMigrate ,
}
func runMigrate ( ctx * cli . Context ) error {
2021-11-07 06:11:27 +03:00
stdCtx , cancel := installSignals ( )
defer cancel ( )
if err := initDB ( stdCtx ) ; err != nil {
2018-10-31 06:14:42 +03:00
return err
}
2021-06-27 03:56:58 +03:00
log . Info ( "AppPath: %s" , setting . AppPath )
log . Info ( "AppWorkPath: %s" , setting . AppWorkPath )
log . Info ( "Custom path: %s" , setting . CustomPath )
2023-02-19 19:12:01 +03:00
log . Info ( "Log path: %s" , setting . Log . RootPath )
2021-09-14 04:24:57 +03:00
log . Info ( "Configuration file: %s" , setting . CustomConf )
2018-10-31 06:14:42 +03:00
2021-10-30 17:32:11 +03:00
if err := db . InitEngineWithMigration ( context . Background ( ) , migrations . Migrate ) ; err != nil {
2019-04-02 10:48:31 +03:00
log . Fatal ( "Failed to initialize ORM engine: %v" , err )
2018-10-31 06:14:42 +03:00
return err
}
return nil
}