diff --git a/database/seeders/placeholder.go b/database/seeders/placeholder.go new file mode 100644 index 0000000..c9800de --- /dev/null +++ b/database/seeders/placeholder.go @@ -0,0 +1,35 @@ +package seeders + +import ( + "atom/container" + "atom/contracts" + "log" + + "go.uber.org/dig" + "gorm.io/gorm" +) + +func init() { + if err := container.Container.Provide(NewPlaceholderSeeder, dig.Group("seeders")); err != nil { + log.Fatal(err) + } +} + +type PlaceholderSeeder struct { +} + +func NewPlaceholderSeeder() contracts.Seeder { + return &PlaceholderSeeder{} +} + +type Placeholder struct { + gorm.Model +} + +func (s *PlaceholderSeeder) Run(db *gorm.DB) { + +} + +func (s *PlaceholderSeeder) Generate(idx int) Placeholder { + return Placeholder{} +} diff --git a/database/seeders/user.go b/database/seeders/user.go deleted file mode 100644 index 050de34..0000000 --- a/database/seeders/user.go +++ /dev/null @@ -1,56 +0,0 @@ -package seeders - -import ( - "atom/container" - "atom/contracts" - "fmt" - "log" - "time" - - "go.uber.org/dig" - "gorm.io/gorm" -) - -func init() { - if err := container.Container.Provide(NewUserSeeder, dig.Group("seeders")); err != nil { - log.Fatal(err) - } -} - -type UserSeeder struct { -} - -func NewUserSeeder() contracts.Seeder { - return &UserSeeder{} -} - -type User struct { - gorm.Model - - Username string - Password string - Birthday time.Time - Status bool -} - -func (s *UserSeeder) Run(db *gorm.DB) { - times := 10 - for i := 0; i < times; i++ { - data := s.Generate(i) - if i == 0 { - stmt := &gorm.Statement{DB: db} - _ = stmt.Parse(&data) - log.Printf("seeding %s for %d times", stmt.Schema.Table, times) - } - db.Create(&data) - } -} - -func (s *UserSeeder) Generate(idx int) User { - return User{ - Username: fmt.Sprintf("username: %d", idx), - Password: fmt.Sprintf("password: %d", idx), - Birthday: time.Now().Add(time.Hour * 24 * time.Duration(idx)), - Status: idx%2 == 0, - } -}