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.CmdCert, | ||||||
| 		cmd.CmdAdmin, | 		cmd.CmdAdmin, | ||||||
| 		cmd.CmdGenerate, | 		cmd.CmdGenerate, | ||||||
|  | 		cmd.CmdMigrate, | ||||||
| 	} | 	} | ||||||
| 	app.Flags = append(app.Flags, []cli.Flag{}...) | 	app.Flags = append(app.Flags, []cli.Flag{}...) | ||||||
| 	app.Action = cmd.CmdWeb.Action | 	app.Action = cmd.CmdWeb.Action | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue