func (p *PartialDriver) Close() error {
	return nil
}
Close is part of source.Driver interface implementation. This is a no-op.
package httpfs
import (
	"errors"
	"io"
	"net/http"
	"os"
	"path"
	"strconv"
	"github.com/golang-migrate/migrate/v4/source"
)
type PartialDriver struct {
	migrations *source.Migrations
	fs         http.FileSystem
	path       string
}
func (p *PartialDriver) Init(fs http.FileSystem, path string) error {
	root, err := fs.Open(path)
	if err != nil {
		return err
	}
	files, err := root.Readdir(0)
	if err != nil {
		_ = root.Close()
		return err
	}
	if err = root.Close(); err != nil {
		return err
	}
	ms := source.NewMigrations()
	for _, file := range files {
		if file.IsDir() {
			continue
		}
		m, err := source.DefaultParse(file.Name())
		if err != nil {
			continue  
		}
		if !ms.Append(m) {
			return source.ErrDuplicateMigration{
				Migration: *m,
				FileInfo:  file,
			}
		}
	}
	p.fs = fs
	p.path = path
	p.migrations = ms
	return nil
}