44 lines
748 B
Go
44 lines
748 B
Go
|
package seeds
|
||
|
|
||
|
import (
|
||
|
"github.com/spf13/cobra"
|
||
|
"github.com/spf13/viper"
|
||
|
"log"
|
||
|
"online-order/cmd"
|
||
|
"online-order/configs"
|
||
|
"online-order/entity"
|
||
|
)
|
||
|
|
||
|
var seedCmd = &cobra.Command{
|
||
|
Use: "seed",
|
||
|
Short: "Seed the database with sample data",
|
||
|
Run: SeederRun,
|
||
|
}
|
||
|
|
||
|
func init() {
|
||
|
cmd.RootCmd.AddCommand(seedCmd)
|
||
|
viper.AutomaticEnv()
|
||
|
}
|
||
|
|
||
|
func SeederRun(cmd *cobra.Command, args []string) {
|
||
|
|
||
|
configs.LoadConfigEnv()
|
||
|
|
||
|
// Start by connecting to database
|
||
|
db := configs.NewDBConnection()
|
||
|
defer db.Close()
|
||
|
|
||
|
router_base := &entity.RouterBase{
|
||
|
Database: db,
|
||
|
}
|
||
|
|
||
|
router := &entity.Routers{
|
||
|
RouterBase: *router_base,
|
||
|
}
|
||
|
|
||
|
log.Printf("seeding Data .........................................")
|
||
|
|
||
|
FillProductCategories(router)
|
||
|
FillProducts(router)
|
||
|
}
|