Documentation ¶
Overview ¶
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.
Example (Mapfs) ¶
package main import ( "github.com/vyomfadia/migrate" "github.com/vyomfadia/migrate/source/godoc_vfs" "golang.org/x/tools/godoc/vfs/mapfs" ) func main() { 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") } }
Output:
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
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 { httpfs.PartialDriver // contains filtered or unexported fields }
VFS is an implementation of driver that returns migrations from a virtual file system.
Click to show internal directories.
Click to hide internal directories.