Documentation ¶
Overview ¶
Package file contains functions for low-level migration files handling.
Index ¶
- func FilenameRegex(filenameExtension string) *regexp.Regexp
- func LineColumnFromOffset(data []byte, offset int) (line, column int)
- func LinesBeforeAndAfter(data []byte, line, before, after int, lineNumbers bool) []byte
- type File
- type Files
- type MigrationFile
- type MigrationFiles
- func (mf *MigrationFiles) Applied(versions Versions) (Files, error)
- func (mf MigrationFiles) Len() int
- func (mf MigrationFiles) Less(i, j int) bool
- func (mf *MigrationFiles) Pending(versions Versions) (Files, error)
- func (mf *MigrationFiles) Relative(relativeN int, versions Versions) (Files, error)
- func (mf MigrationFiles) Swap(i, j int)
- type Version
- type Versions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FilenameRegex ¶
FilenameRegex builds regular expression stmt with given filename extension from driver.
func LineColumnFromOffset ¶
LineColumnFromOffset reads data and returns line and column integer for a given offset.
Types ¶
type File ¶
type File struct { // absolute path to file Path string // the name of the file FileName string // version parsed from filename Version Version // the actual migration name parsed from filename Name string // content of the file Content []byte // UP or DOWN migration Direction direction.Direction }
File represents one file on disk. Example: 20060102150405_initial_plan_to_do_sth.up.sql
func (*File) ReadContent ¶
ReadContent reads the file's content if the content is empty
type MigrationFile ¶
type MigrationFile struct { // version of the migration file, parsed from the filenames Version Version // reference to the *up* migration file UpFile *File // reference to the *down* migration file DownFile *File }
MigrationFile represents both the UP and the DOWN migration file.
type MigrationFiles ¶
type MigrationFiles []MigrationFile
MigrationFiles is a slice of MigrationFiles
func ReadMigrationFiles ¶
func ReadMigrationFiles(path string, filenameRegex *regexp.Regexp) (files MigrationFiles, err error)
ReadMigrationFiles reads all migration files from a given path
func (*MigrationFiles) Applied ¶ added in v1.3.0
func (mf *MigrationFiles) Applied(versions Versions) (Files, error)
func (MigrationFiles) Len ¶
func (mf MigrationFiles) Len() int
Len is the number of elements in the collection. Required by Sort Interface{}
func (MigrationFiles) Less ¶
func (mf MigrationFiles) Less(i, j int) bool
Less reports whether the element with index i should sort before the element with index j. Required by Sort Interface{}
func (*MigrationFiles) Pending ¶ added in v1.3.0
func (mf *MigrationFiles) Pending(versions Versions) (Files, error)
func (*MigrationFiles) Relative ¶ added in v1.3.0
func (mf *MigrationFiles) Relative(relativeN int, versions Versions) (Files, error)
Relative travels relatively through migration files.
+1 will fetch the next up migration file +2 will fetch the next two up migration files +n will fetch ... -1 will fetch the the previous down migration file -2 will fetch the next two previous down migration files -n will fetch ...
func (MigrationFiles) Swap ¶
func (mf MigrationFiles) Swap(i, j int)
Swap swaps the elements with indexes i and j. Required by Sort Interface{}
type Versions ¶ added in v1.3.0
type Versions []Version
func (Versions) Len ¶ added in v1.3.0
Len is the number of elements in the collection. Required by Sort Interface{}