Add command for migrating database (#4954)
This commit is contained in:
		
							parent
							
								
									6eff62ae09
								
							
						
					
					
						commit
						7edb930240
					
				
					 2 changed files with 53 additions and 0 deletions
				
			
		
							
								
								
									
										52
									
								
								cmd/migrate.go
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								cmd/migrate.go
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,52 @@
 | 
			
		|||
// Copyright 2018 The Gitea Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a MIT-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
package cmd
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/models/migrations"
 | 
			
		||||
	"code.gitea.io/gitea/modules/log"
 | 
			
		||||
	"code.gitea.io/gitea/modules/setting"
 | 
			
		||||
 | 
			
		||||
	"github.com/urfave/cli"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// CmdMigrate represents the available migrate sub-command.
 | 
			
		||||
var CmdMigrate = cli.Command{
 | 
			
		||||
	Name:        "migrate",
 | 
			
		||||
	Usage:       "Migrate the database",
 | 
			
		||||
	Description: "This is a command for migrating the database, so that you can run gitea admin create-user before starting the server.",
 | 
			
		||||
	Action:      runMigrate,
 | 
			
		||||
	Flags: []cli.Flag{
 | 
			
		||||
		cli.StringFlag{
 | 
			
		||||
			Name:  "config, c",
 | 
			
		||||
			Value: "custom/conf/app.ini",
 | 
			
		||||
			Usage: "Custom configuration file path",
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func runMigrate(ctx *cli.Context) error {
 | 
			
		||||
	if ctx.IsSet("config") {
 | 
			
		||||
		setting.CustomConf = ctx.String("config")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err := initDB(); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	log.Trace("AppPath: %s", setting.AppPath)
 | 
			
		||||
	log.Trace("AppWorkPath: %s", setting.AppWorkPath)
 | 
			
		||||
	log.Trace("Custom path: %s", setting.CustomPath)
 | 
			
		||||
	log.Trace("Log path: %s", setting.LogRootPath)
 | 
			
		||||
	models.LoadConfigs()
 | 
			
		||||
 | 
			
		||||
	if err := models.NewEngine(migrations.Migrate); err != nil {
 | 
			
		||||
		log.Fatal(4, "Failed to initialize ORM engine: %v", err)
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										1
									
								
								main.go
									
										
									
									
									
								
							
							
						
						
									
										1
									
								
								main.go
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -47,6 +47,7 @@ arguments - which can alternatively be run by running the subcommand web.`
 | 
			
		|||
		cmd.CmdCert,
 | 
			
		||||
		cmd.CmdAdmin,
 | 
			
		||||
		cmd.CmdGenerate,
 | 
			
		||||
		cmd.CmdMigrate,
 | 
			
		||||
	}
 | 
			
		||||
	app.Flags = append(app.Flags, []cli.Flag{}...)
 | 
			
		||||
	app.Action = cmd.CmdWeb.Action
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue