Fixture importing in database for REL.
YAML file must contain properties named after database table names with array of objects with fields as column names.
package main
import (
"context"
"github.com/go-rel/fixtures"
"github.com/go-rel/rel"
)
func main() {
repo := fixtures.New()
// Register all needed types
repo.Register(&User{})
repo.Register(&Address{})
repo.Register(&Transaction{})
// TODO db := rel.New(adapter)
if err := repo.Import(context.Background(), db,
[]byte(`---
users:
- id: 1
name: John Doe
age: 20
created_at: 2019-01-01T06:10:00Z
address_id: 1
addresses:
- id: 1
city: New York
`)); err != nil {
panic(err)
}
}
Directory must contain YAML files named as table names with extension .yaml
containing just array of objects
with fields as column names.
package main
import (
"context"
"github.com/go-rel/fixtures"
"github.com/go-rel/rel"
)
func main() {
repo := fixtures.New()
// Register all needed types
repo.Register(&User{})
repo.Register(&Address{})
repo.Register(&Transaction{})
// TODO db := rel.New(adapter)
if err := repo.ImportDir(context.Background(), db, "path/to/dir/")); err != nil {
panic(err)
}
}