Skip to content

Commit

Permalink
fix test
Browse files Browse the repository at this point in the history
  • Loading branch information
Kachit committed May 28, 2022
1 parent b9576e7 commit 83dee9f
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions seeder.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,39 +5,47 @@ import (
"gorm.io/gorm"
)

//SeederInterface interface
type SeederInterface interface {
Seed(db *gorm.DB) error
Clear(db *gorm.DB) error
}

//SeederConfiguration struct
type SeederConfiguration struct {
Rows int
}

//SeederAbstract struct
type SeederAbstract struct {
Configuration SeederConfiguration
}

//Delete method
func (sa *SeederAbstract) Delete(db *gorm.DB, table string) error {
sql := fmt.Sprintf("DELETE FROM %v", table)
return db.Exec(sql).Error
}

//Truncate method
func (sa *SeederAbstract) Truncate(db *gorm.DB, table string) error {
sql := fmt.Sprintf("TRUNCATE %v", table)
return db.Exec(sql).Error
}

//SeedersStack struct
type SeedersStack struct {
db *gorm.DB
seeders []SeederInterface
}

//AddSeeder method
func (ss *SeedersStack) AddSeeder(seeder SeederInterface) *SeedersStack {
ss.seeders = append(ss.seeders, seeder)
return ss
}

//Seed method
func (ss *SeedersStack) Seed() error {
db := ss.getDb()
tx := ss.beginTransaction(db)
Expand All @@ -52,6 +60,7 @@ func (ss *SeedersStack) Seed() error {
return nil
}

//Clear method
func (ss *SeedersStack) Clear() error {
db := ss.getDb()
tx := ss.beginTransaction(db)
Expand All @@ -66,10 +75,12 @@ func (ss *SeedersStack) Clear() error {
return nil
}

//getDb method
func (ss *SeedersStack) getDb() *gorm.DB {
return ss.db
}

//beginTransaction method
func (ss *SeedersStack) beginTransaction(db *gorm.DB) *gorm.DB {
if db.SkipDefaultTransaction == true {
tx := db.Begin()
Expand All @@ -78,24 +89,28 @@ func (ss *SeedersStack) beginTransaction(db *gorm.DB) *gorm.DB {
return db
}

//commitTransaction method
func (ss *SeedersStack) commitTransaction(db *gorm.DB) *gorm.DB {
if db.SkipDefaultTransaction == true {
db.Commit()
}
return db
}

//rollbackTransaction method
func (ss *SeedersStack) rollbackTransaction(db *gorm.DB) *gorm.DB {
if db.SkipDefaultTransaction == true {
db.Rollback()
}
return db
}

//NewSeedersStack function
func NewSeedersStack(db *gorm.DB) *SeedersStack {
return &SeedersStack{db: db}
}

//NewSeederAbstract function
func NewSeederAbstract(cfg SeederConfiguration) SeederAbstract {
return SeederAbstract{Configuration: cfg}
}

0 comments on commit 83dee9f

Please sign in to comment.