Created
August 27, 2019 19:19
-
-
Save victorsteven/e82f175b82bdaffa049bfbc1cba4992a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package seed | |
| import ( | |
| "log" | |
| "github.com/jinzhu/gorm" | |
| "github.com/victorsteven/fullstack/api/models" | |
| ) | |
| var users = []models.User{ | |
| models.User{ | |
| Nickname: "Steven victor", | |
| Email: "[email protected]", | |
| Password: "password", | |
| }, | |
| models.User{ | |
| Nickname: "Martin Luther", | |
| Email: "[email protected]", | |
| Password: "password", | |
| }, | |
| } | |
| var posts = []models.Post{ | |
| models.Post{ | |
| Title: "Title 1", | |
| Content: "Hello world 1", | |
| }, | |
| models.Post{ | |
| Title: "Title 2", | |
| Content: "Hello world 2", | |
| }, | |
| } | |
| func Load(db *gorm.DB) { | |
| err := db.Debug().DropTableIfExists(&models.Post{}, &models.User{}).Error | |
| if err != nil { | |
| log.Fatalf("cannot drop table: %v", err) | |
| } | |
| err = db.Debug().AutoMigrate(&models.User{}, &models.Post{}).Error | |
| if err != nil { | |
| log.Fatalf("cannot migrate table: %v", err) | |
| } | |
| err = db.Debug().Model(&models.Post{}).AddForeignKey("author_id", "users(id)", "cascade", "cascade").Error | |
| if err != nil { | |
| log.Fatalf("attaching foreign key error: %v", err) | |
| } | |
| for i, _ := range users { | |
| err = db.Debug().Model(&models.User{}).Create(&users[i]).Error | |
| if err != nil { | |
| log.Fatalf("cannot seed users table: %v", err) | |
| } | |
| posts[i].AuthorID = users[i].ID | |
| err = db.Debug().Model(&models.Post{}).Create(&posts[i]).Error | |
| if err != nil { | |
| log.Fatalf("cannot seed posts table: %v", err) | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
err = db.Debug().Model(&models.Post{}).AddForeignKey("author_id", "users(id)", "cascade", "cascade").ErrorHi Victor. How can i write this code block with gorm 2.0?