Documentation ¶
Index ¶
- Constants
- type Config
- type Direction
- type Filesystem
- type ImplFilesystem
- func (fs *ImplFilesystem) CreateMigrationFile(name string, location string) error
- func (fs *ImplFilesystem) GetFileTimestamps(from time.Time, to time.Time) (MigrationFileList, error)
- func (fs *ImplFilesystem) LoadConfig() (Config, error)
- func (fs *ImplFilesystem) ReadMigrationContent(file MigrationFile, direction Direction, config Config) (string, error)
- func (fs *ImplFilesystem) Squash(files MigrationFileList) (err error)
- func (fs *ImplFilesystem) StoreConfig(config Config) error
- type MigrationFile
- type MigrationFileList
- type TimeGetter
Constants ¶
const ( DirectionUp = iota DirectionDown )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { DbName string `json:"db_name"` Path string `json:"path"` DbURL string `json:"db_url"` Credentials string `json:"credentials"` Port int `json:"port"` SSL string `json:"ssl_mode"` NoColor bool `json:"no_color"` }
Config JSON type for storing database configuration
func (*Config) GetConnectionString ¶
GetConnectionString returns string for connecting on DB
type Filesystem ¶
type Filesystem interface { StoreConfig(config Config) error LoadConfig() (Config, error) CreateMigrationFile(string, string) error ReadMigrationContent(MigrationFile, Direction, Config) (string, error) GetFileTimestamps(time.Time, time.Time) (MigrationFileList, error) Squash(MigrationFileList) error }
type ImplFilesystem ¶
type ImplFilesystem struct { Fs afero.Fs GetNow func() time.Time ConfigDir string ExternalConfig *Config }
func (*ImplFilesystem) CreateMigrationFile ¶
func (fs *ImplFilesystem) CreateMigrationFile(name string, location string) error
CreateMigrationFile - creates a new file in path directory
func (*ImplFilesystem) GetFileTimestamps ¶
func (fs *ImplFilesystem) GetFileTimestamps(from time.Time, to time.Time) (MigrationFileList, error)
GetFileTimestamps - gets the list of migrations that are between two arguments. Returned list does not include file that has exactly same timestamp as `from` arg. Returned list includes file that has exactly same timestamp as `to` arg.
func (*ImplFilesystem) LoadConfig ¶
func (fs *ImplFilesystem) LoadConfig() (Config, error)
LoadConfig - reads previously stored config file from current dir
func (*ImplFilesystem) ReadMigrationContent ¶
func (fs *ImplFilesystem) ReadMigrationContent(file MigrationFile, direction Direction, config Config) (string, error)
ReadMigrationContent for specified migration file reads content as a string
func (*ImplFilesystem) Squash ¶
func (fs *ImplFilesystem) Squash(files MigrationFileList) (err error)
Squash squashes files from given list into one up migration and one down migration
func (*ImplFilesystem) StoreConfig ¶
func (fs *ImplFilesystem) StoreConfig(config Config) error
StoreConfig - saves configuration in json file
type MigrationFile ¶
func (MigrationFile) GetFileName ¶
func (mf MigrationFile) GetFileName(config Config, direction Direction) string
GetFileName - returns full path to migration file
type MigrationFileList ¶
type MigrationFileList []MigrationFile
func (MigrationFileList) Len ¶
func (m MigrationFileList) Len() int
func (MigrationFileList) Less ¶
func (m MigrationFileList) Less(i, j int) bool
func (MigrationFileList) Swap ¶
func (m MigrationFileList) Swap(i, j int)