package godoc_vfs
import "github.com/golang-migrate/migrate/v4/source/godoc_vfs"
Package godoc_vfs contains a driver that reads migrations from a virtual file system.
Implementations of the filesystem interface that read from zip files and
maps, as well as the definition of the filesystem interface can be found in
the golang.org/x/tools/godoc/vfs package.
Code:
Example (Mapfs)¶
{
fs := mapfs.New(map[string]string{
"1_foobar.up.sql": "1 up",
"1_foobar.down.sql": "1 down",
"3_foobar.up.sql": "3 up",
"4_foobar.up.sql": "4 up",
"4_foobar.down.sql": "4 down",
"5_foobar.down.sql": "5 down",
"7_foobar.up.sql": "7 up",
"7_foobar.down.sql": "7 down",
})
d, err := godoc_vfs.WithInstance(fs, "")
if err != nil {
panic("bad migrations found!")
}
m, err := migrate.NewWithSourceInstance("godoc-vfs", d, "database://foobar")
if err != nil {
panic("error creating the migrations")
}
err = m.Up()
if err != nil {
panic("up failed")
}
}
Index ¶
- func WithInstance(fs vfs.FileSystem, searchPath string) (source.Driver, error)
- type VFS
- func (b *VFS) Close() error
- func (b *VFS) First() (version uint, err error)
- func (b *VFS) Next(version uint) (nextVersion uint, err error)
- func (b *VFS) Open(url string) (source.Driver, error)
- func (b *VFS) Prev(version uint) (prevVersion uint, err error)
- func (b *VFS) ReadDown(version uint) (r io.ReadCloser, identifier string, err error)
- func (b *VFS) ReadUp(version uint) (r io.ReadCloser, identifier string, err error)
Examples ¶
Functions ¶
func WithInstance ¶
WithInstance creates a new driver from a virtual file system. If a tree named searchPath exists in the virtual filesystem, WithInstance searches for migration files there. It defaults to "/".
Types ¶
type VFS ¶
type VFS struct {
// contains filtered or unexported fields
}
VFS is an implementation of driver that returns migrations from a virtual file system.
func (*VFS) Close ¶
Close implements the source.Driver interface for VFS. It is a no-op and should not be used.
func (*VFS) First ¶
First returns the first migration verion found in the file system. If no version is available os.ErrNotExist is returned.
func (*VFS) Next ¶
Prev returns the next version available to the driver. If no previous version is available os.ErrNotExist is returned.
func (*VFS) Open ¶
Open implements the source.Driver interface for VFS.
Calling this function panics, instead use the WithInstance function. See the package level documentation for an example.
func (*VFS) Prev ¶
Prev returns the previous version available to the driver. If no previous version is available os.ErrNotExist is returned.
func (*VFS) ReadDown ¶
ReadDown returns the down migration body and an identifier that helps with finding this migration in the source.
func (*VFS) ReadUp ¶
ReadUp returns the up migration body and an identifier that helps with finding this migration in the source. If there is no up migration available for this version it returns os.ErrNotExist.
Source Files ¶
- Version
- v4.7.0
- Published
- Oct 17, 2019
- Platform
- darwin/amd64
- Imports
- 8 packages
- Last checked
- 1 hour ago –
Tools for package owners.