code: func ExecuteScript(cfg abcconfig.DBConfig, script []byte) error {
  	rdr := bytes.NewReader(script)
  
  	if cfg.DB == "postgres" {
  		passFilePath, err := pgPassFile(cfg)
  		if err != nil {
  			return err
  		}
  		defer os.Remove(passFilePath)
  
  		cmd := exec.Command("psql", cfg.DBName, "-v", "ON_ERROR_STOP=1")
  		cmd.Stdin = rdr
  		cmd.Env = append(os.Environ(), pgEnv(cfg, passFilePath)...)
  
  		res, err := cmd.CombinedOutput()
  		if err != nil {
  			fmt.Printf(string(res))
  		}
  
  		return err
  	} else if cfg.DB == "mysql" {
  		passFile, err := mysqlPassFile(cfg)
  		if err != nil {
  			return err
  		}
  		defer os.Remove(passFile)
  
  		cmd := exec.Command("mysql", fmt.Sprintf("--defaults-file=%s", passFile), "--database", cfg.DBName)
  		cmd.Stdin = rdr
  
  		res, err := cmd.CombinedOutput()
  		if err != nil {
  			fmt.Println(string(res))
  		}
  
  		return err
  	}
  
  	return fmt.Errorf("cannot execute sql script, incompatible database %q", cfg.DB)
  }
docs: // ExecuteScript executes the passed in SQL script against the passed in db