mirror of
https://github.com/beego/bee.git
synced 2024-11-23 11:50:55 +00:00
51 lines
1.5 KiB
Go
51 lines
1.5 KiB
Go
package generate
|
|
|
|
import (
|
|
"strings"
|
|
|
|
"github.com/beego/bee/v2/cmd/commands/migrate"
|
|
beeLogger "github.com/beego/bee/v2/logger"
|
|
"github.com/beego/bee/v2/utils"
|
|
)
|
|
|
|
func GenerateScaffold(sname, fields, currpath, driver, conn string) {
|
|
beeLogger.Log.Infof("Do you want to create a '%s' model? [Yes|No] ", sname)
|
|
|
|
// Generate the model
|
|
if utils.AskForConfirmation() {
|
|
GenerateModel(sname, fields, currpath)
|
|
}
|
|
|
|
// Generate the controller
|
|
beeLogger.Log.Infof("Do you want to create a '%s' controller? [Yes|No] ", sname)
|
|
if utils.AskForConfirmation() {
|
|
GenerateController(sname, currpath)
|
|
}
|
|
|
|
// Generate the views
|
|
beeLogger.Log.Infof("Do you want to create views for this '%s' resource? [Yes|No] ", sname)
|
|
if utils.AskForConfirmation() {
|
|
GenerateView(sname, currpath)
|
|
}
|
|
|
|
// Generate a migration
|
|
beeLogger.Log.Infof("Do you want to create a '%s' migration and schema for this resource? [Yes|No] ", sname)
|
|
if utils.AskForConfirmation() {
|
|
upsql := ""
|
|
downsql := ""
|
|
if fields != "" {
|
|
dbMigrator := NewDBDriver()
|
|
upsql = dbMigrator.GenerateCreateUp(sname)
|
|
downsql = dbMigrator.GenerateCreateDown(sname)
|
|
}
|
|
GenerateMigration(sname, upsql, downsql, currpath)
|
|
}
|
|
|
|
// Run the migration
|
|
beeLogger.Log.Infof("Do you want to migrate the database? [Yes|No] ")
|
|
if utils.AskForConfirmation() {
|
|
migrate.MigrateUpdate(currpath, driver, conn, "")
|
|
}
|
|
beeLogger.Log.Successf("All done! Don't forget to add beego.Router(\"/%s\" ,&controllers.%sController{}) to routers/route.go\n", sname, strings.Title(sname))
|
|
}
|