func main() { // Load the configuration, connect to the database cnf := config.NewConfig() db, err := database.NewDatabase(cnf) if err != nil { log.Fatal(err) } // Disable logging db.LogMode(false) // Set the CLI app commands cliApp.Commands = []cli.Command{ { Name: "migrate", Usage: "run migrations", Action: func(c *cli.Context) { migrate(db) }, }, { Name: "runserver", Usage: "run web server", Action: func(c *cli.Context) { runServer(cnf, db) }, }, } cliApp.Run(os.Args) }
// initConfigDB loads the configuration and connects to the database func initConfigDB(mustLoadOnce, keepReloading bool) (*config.Config, *gorm.DB, error) { // Config cnf := config.NewConfig(mustLoadOnce, keepReloading) // Database db, err := database.NewDatabase(cnf) if err != nil { return nil, nil, err } return cnf, db, nil }
func main() { // Load the configuration, connect to the database cnf := config.NewConfig(true) // must load once db, err := database.NewDatabase(cnf) if err != nil { log.Fatal(err) } defer db.Close() // Disable logging db.LogMode(false) // Set the CLI app commands cliApp.Commands = []cli.Command{ { Name: "migrate", Usage: "run migrations", Action: func(c *cli.Context) { if err := commands.Migrate(db); err != nil { log.Fatal(err) } }, }, { Name: "loaddata", Usage: "load data from fixture", Action: func(c *cli.Context) { if err := commands.LoadData(c.Args(), cnf, db); err != nil { log.Fatal(err) } }, }, { Name: "runserver", Usage: "run web server", Action: func(c *cli.Context) { commands.RunServer(cnf, db) }, }, } // Run the CLI app cliApp.Run(os.Args) }