From 2741cbac9cdb671be6dcbb60057ecc7e2cb8836c Mon Sep 17 00:00:00 2001 From: Alexander Kavon Date: Tue, 23 Jan 2024 18:27:53 -0500 Subject: add new seed command, use Makefile for migrations before seed --- .seedrc.toml | 6 ------ Makefile | 3 +++ seed/main.go | 14 +++----------- seed/seeder/seeder.go | 5 +++-- seed/seeder/tern.go | 28 ---------------------------- 5 files changed, 9 insertions(+), 47 deletions(-) delete mode 100644 .seedrc.toml delete mode 100644 seed/seeder/tern.go diff --git a/.seedrc.toml b/.seedrc.toml deleted file mode 100644 index f537294..0000000 --- a/.seedrc.toml +++ /dev/null @@ -1,6 +0,0 @@ -[database] -adapter = "postgresql" -port = "5432" -user = "newsstand_test" -secret = "newsstand_test" -dbname = "newsstand_test" diff --git a/Makefile b/Makefile index 7d4866e..1a2265e 100644 --- a/Makefile +++ b/Makefile @@ -17,3 +17,6 @@ halt: rs: podman compose up --build -d server + +seed: unmigrate migrate + go run ./seed/main.go diff --git a/seed/main.go b/seed/main.go index a2cc084..39be744 100644 --- a/seed/main.go +++ b/seed/main.go @@ -2,8 +2,6 @@ package main import ( "log" - "os" - "path/filepath" "gitlab.com/alexkavon/newsstand/seed/seeder" "gitlab.com/alexkavon/newsstand/src/conf" @@ -11,25 +9,19 @@ import ( ) func main() { - err := os.Setenv("NEWSSTAND_CONFIG_PATH", "./.seedrc.toml") - if err != nil { - log.Fatal(err) - } config := conf.NewConf() database := db.NewDb(config) defer database.Close() // load seeder s := seeder.NewSeeder(database) - // migrate - migrations := filepath.Join(config.GetCwd(), "/migrations") - err = seeder.MigrateDatabase(database, migrations) + // seed users + err := s.SeedUsers(10) if err != nil { log.Fatal(err) } - err = s.SeedUsers(10) + err = s.SeedPosts(5) if err != nil { log.Fatal(err) } - os.Exit(0) } diff --git a/seed/seeder/seeder.go b/seed/seeder/seeder.go index 37dfe30..323d2ac 100644 --- a/seed/seeder/seeder.go +++ b/seed/seeder/seeder.go @@ -28,12 +28,13 @@ func NewSeeder(dbconn *db.Db) *Seeder { func (s *Seeder) SeedUsers(num int) error { user.InitHooks() for i := 1; i <= num; i++ { - log.Printf("seeding=%d", i) u := &models.User{} u.Username = faker.Username() u.Secret = faker.Password() - err := beginSeed(s.dbconn, u.Insert) + log.Printf("seeding user=%s", u.Username) + // err := beginSeed(s.dbconn, u.Insert) + err := u.Insert(context.Background(), s.dbconn.ToSqlDb(), boil.Infer()) if err != nil { return err } diff --git a/seed/seeder/tern.go b/seed/seeder/tern.go deleted file mode 100644 index 8eff9d5..0000000 --- a/seed/seeder/tern.go +++ /dev/null @@ -1,28 +0,0 @@ -package seeder - -import ( - "context" - "os" - - "github.com/jackc/tern/v2/migrate" - "gitlab.com/alexkavon/newsstand/src/db" -) - -func MigrateDatabase(dbpool *db.Db, migrationspath string) error { - conn, err := dbpool.Conn().Acquire(context.Background()) - if err != nil { - return err - } - m, err := migrate.NewMigrator(context.Background(), conn.Conn(), "public.schema_version") - if err != nil { - return err - } - // load migration files - err = m.LoadMigrations(os.DirFS(migrationspath)) - if err != nil { - return err - } - - // migrate! - return m.Migrate(context.Background()) -} -- cgit v1.2.3