func loadConf(confLoc string) (*Config, error) {
	bytes, _, err := open(confLoc)
	if e(err) {
		return nil, fmt.Errorf("Couldn't locate configation at path '%s'", confLoc)
	}
	conf := Config{}
	err = yaml.Unmarshal(bytes, &conf)
	if e(err) {
		return nil, errors.Wrapf(err, "Couldn't parse configation at path '%s'", confLoc)
	}
	if conf.Db == "" {
		return nil, errors.New("Please specifiy the database name in the config")
	}
	encased := make(map[string]interface{})
	for k, v := range conf.Extras {
		encased[fmt.Sprintf("${%s}", k)] = v
	}
	conf.Extras = encased
	return &conf, nil
}
Reads in a yaml file at the confLoc and returns the Config instance.
package arangomigo
import (
	"context"
	"fmt"
	"github.com/pkg/errors"
	"gopkg.in/yaml.v2"
	"log"
)
func TriggerMigration(configAt string) {
	config, err := loadConf(configAt)
	if e(err) {
		log.Fatal(err)
	}
	if err := migrate(*config); err != nil {
		log.Fatal("Could not perform migration\n", err)
	}
	fmt.Println("Successfully completed migration")
}
func migrate(c Config) error {
	ctx := context.Background()
	pm, err := migrations(c.MigrationsPath)
	if e(err) {
		return err
	}
	return perform(ctx, c, pm)
}