Skip to content

Commit df3c212

Browse files
Add SeederEntry interface to dbo
1 parent 21b4b35 commit df3c212

2 files changed

Lines changed: 15 additions & 23 deletions

File tree

dbo/instance.go

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,9 @@ type Instance interface {
1010
New() *gorm.DB
1111
DB(db ...*gorm.DB) (value *gorm.DB, err error)
1212
AddMigrations(models ...any)
13-
AddSeederEntries(entries ...SeederEntry)
1413
AddSeeders(handlers ...SeederHandler)
1514
Migrate(seed ...bool) (err error)
16-
Seed() (err error)
15+
Seed(entries ...SeederEntry) (err error)
1716
}
1817

1918
// ======================
@@ -53,10 +52,6 @@ func (s *dbInstance) AddSeeders(handlers ...SeederHandler) {
5352
s.seeders.Add(handlers...)
5453
}
5554

56-
func (s *dbInstance) AddSeederEntries(entries ...SeederEntry) {
57-
s.seeders.AddEntries(entries...)
58-
}
59-
6055
func (s *dbInstance) Migrate(seed ...bool) (err error) {
6156
if err = s.migrations.Run(s.db); err != nil {
6257
return
@@ -69,7 +64,7 @@ func (s *dbInstance) Migrate(seed ...bool) (err error) {
6964
return
7065
}
7166

72-
func (s *dbInstance) Seed() (err error) {
67+
func (s *dbInstance) Seed(entries ...SeederEntry) (err error) {
7368
return s.seeders.Run(s.db)
7469
}
7570

dbo/seeder.go

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ import (
1010
type SeederHandler func(db *gorm.DB) (err error)
1111

1212
type DBSeeder interface {
13-
AddEntries(entries ...SeederEntry)
14-
Run(db *gorm.DB) (err error)
13+
Seed(db *gorm.DB, entries []SeederEntry) (err error)
1514
}
1615

1716
type SeederEntry interface {
@@ -21,27 +20,14 @@ type SeederEntry interface {
2120

2221
type dbSeeder struct {
2322
opts *Options
24-
entries []SeederEntry
2523
handlers []SeederHandler
2624
}
2725

2826
func (x *dbSeeder) Add(handlers ...SeederHandler) {
2927
x.handlers = append(x.handlers, handlers...)
3028
}
3129

32-
func (x *dbSeeder) AddEntries(entries ...SeederEntry) {
33-
x.entries = append(x.entries, entries...)
34-
}
35-
3630
func (x *dbSeeder) Run(db *gorm.DB) (err error) {
37-
for _, entry := range x.entries {
38-
tx := NewSession(db)
39-
40-
if err = x.RunEntry(tx, entry); err != nil {
41-
return
42-
}
43-
}
44-
4531
for _, handler := range x.handlers {
4632
tx := NewSession(db)
4733

@@ -69,6 +55,18 @@ func (x *dbSeeder) RunEntry(db *gorm.DB, entry SeederEntry) (err error) {
6955
return
7056
}
7157

58+
func (x *dbSeeder) Seed(db *gorm.DB, entries []SeederEntry) (err error) {
59+
for _, entry := range entries {
60+
tx := NewSession(db)
61+
62+
if err = x.RunEntry(tx, entry); err != nil {
63+
return
64+
}
65+
}
66+
67+
return
68+
}
69+
7270
// ===================
7371

7472
var Seeder dbSeeder
@@ -84,7 +82,6 @@ func newSeeder(opts *Options) *dbSeeder {
8482
}
8583

8684
func initSeeders(x *dbSeeder) {
87-
x.entries = []SeederEntry{}
8885
x.handlers = []SeederHandler{}
8986
}
9087

0 commit comments

Comments
 (0)