seeder.go 608 B

1234567891011121314151617181920212223242526272829303132
  1. // Package seed 存放数据库填充数据
  2. package seed
  3. import "gorm.io/gorm"
  4. // 存放所有 Seeder
  5. var seedrs []Seeder
  6. // 按排序执行的 Seeder 数组
  7. var orderedSeederNames []string
  8. type SeederFunc func(*gorm.DB)
  9. // Seeder 对应每一个 database/seeders 目录下的 Seeder 文件
  10. type Seeder struct {
  11. Name string
  12. Func SeederFunc
  13. }
  14. // AddSeeder 添加一个 Seeder
  15. func Add(name string, fn SeederFunc) {
  16. seedrs = append(seedrs, Seeder{
  17. Name: name,
  18. Func: fn,
  19. })
  20. }
  21. // SetRunOrder 设置 按顺序执行的 Seeder 数组
  22. func SetRunOrder(names []string) {
  23. orderedSeederNames = names
  24. }