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) From(version uint64, relativeN int) (Files, error)
- func (mf MigrationFiles) Len() int
- func (mf MigrationFiles) Less(i, j int) bool
- func (mf MigrationFiles) Swap(i, j int)
- func (mf *MigrationFiles) ToFirstFrom(version uint64) (Files, error)
- func (mf *MigrationFiles) ToLastFrom(version uint64) (Files, error)
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 uint64 // 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: 001_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 uint64 // 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) From ¶
func (mf *MigrationFiles) From(version uint64, relativeN int) (Files, error)
From 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) 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) Swap ¶
func (mf MigrationFiles) Swap(i, j int)
Swap swaps the elements with indexes i and j. Required by Sort Interface{}
func (*MigrationFiles) ToFirstFrom ¶
func (mf *MigrationFiles) ToFirstFrom(version uint64) (Files, error)
ToFirstFrom fetches all (down) migration files including the migration file of the current version to the very first migration file.
func (*MigrationFiles) ToLastFrom ¶
func (mf *MigrationFiles) ToLastFrom(version uint64) (Files, error)
ToLastFrom fetches all (up) migration files to the most recent migration file. The migration file of the current version is not included.