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…
	
		Reference in a new issue