driver

package
v1.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 16, 2016 License: MIT Imports: 5 Imported by: 61

Documentation

Overview

Package driver holds the driver interface.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Drivers added in v1.3.0

func Drivers() []string

Drivers returns a sorted list of the names of the registered drivers.

func RegisterDriver added in v1.3.0

func RegisterDriver(name string, driver Driver)

Registers a driver so it can be created from its name. Drivers should call this from an init() function so that they registers themselves on import.

Types

type Driver

type Driver interface {

	// Initialize is the first function to be called.
	// Check the url string and open and verify any connection
	// that has to be made.
	Initialize(url string) error

	// Close is the last function to be called.
	// Close any open connection here.
	Close() error

	// FilenameExtension returns the extension of the migration files.
	// The returned string must not begin with a dot.
	FilenameExtension() string

	// Migrate is the heart of the driver.
	// It will receive a file which the driver should apply
	// to its backend or whatever. The migration function should use
	// the pipe channel to return any errors or other useful information.
	Migrate(file file.File, pipe chan interface{})

	// Version returns the current migration version.
	Version() (file.Version, error)

	// Versions returns the list of applied migrations.
	Versions() (file.Versions, error)
}

Driver is the interface type that needs to implemented by all drivers.

func GetDriver added in v1.3.0

func GetDriver(name string) Driver

Retrieves a registered driver by name.

func New

func New(url string) (Driver, error)

New returns Driver and calls Initialize on it.

Directories

Path Synopsis
Package bash implements the Driver interface.
Package bash implements the Driver interface.
Package cassandra implements the Driver interface.
Package cassandra implements the Driver interface.
Package crate implements a driver for the Crate.io database
Package crate implements a driver for the Crate.io database
Package mysql implements the Driver interface.
Package mysql implements the Driver interface.
Package postgres implements the Driver interface.
Package postgres implements the Driver interface.
Package sqlite3 implements the Driver interface.
Package sqlite3 implements the Driver interface.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL