migration

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Jun 16, 2015 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

migration package for migration

The table structure is as follow:

CREATE TABLE `migrations` (
	`id_migration` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'surrogate key',
	`name` varchar(255) DEFAULT NULL COMMENT 'migration name, unique',
	`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'date migrated or rolled back',
	`statements` longtext COMMENT 'SQL statements for this migration',
	`rollback_statements` longtext,
	`status` enum('update','rollback') DEFAULT NULL COMMENT 'update indicates it is a normal migration while rollback means this migration is rolled back',
	PRIMARY KEY (`id_migration`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Index

Constants

View Source
const (
	M_DATE_FORMAT    = "20060102_150405"
	M_DB_DATE_FORMAT = "2006-01-02 15:04:05"
)

const the data format for the bee generate migration datatype

Variables

This section is empty.

Functions

func Create added in v1.4.2

func Create(tbname string, columns ...Column) string

func Drop added in v1.4.2

func Drop(tbname string, columns ...Column) string

func Refresh

func Refresh() error

first Reset, then Upgrade

func Register

func Register(name string, m Migrationer) error

register the Migration in the map

func Reset

func Reset() error

reset all migration run all migration's down function

func Rollback

func Rollback(name string) error

rollback the migration by the name

func TableDDL added in v1.4.2

func TableDDL(tbname string, columns ...Column) string

func Upgrade

func Upgrade(lasttime int64) error

upgrate the migration from lasttime

Types

type Column added in v1.4.2

type Column struct {
	Name    string
	Type    string
	Default interface{}
}

type Migration

type Migration struct {
	Created string
	// contains filtered or unexported fields
}

the basic type which will implement the basic type

func (*Migration) Down

func (m *Migration) Down()

implement in the Inheritance struct for down

func (*Migration) Exec

func (m *Migration) Exec(name, status string) error

execute the sql already add in the sql

func (*Migration) GetCreated

func (m *Migration) GetCreated() int64

get the unixtime from the Created

func (*Migration) Reset

func (m *Migration) Reset()

Reset the sqls

func (*Migration) Sql

func (m *Migration) Sql(sql string)

add sql want to execute

func (*Migration) Up

func (m *Migration) Up()

implement in the Inheritance struct for upgrade

type Migrationer

type Migrationer interface {
	Up()
	Down()
	Reset()
	Exec(name, status string) error
	GetCreated() int64
}

Migrationer is an interface for all Migration struct

type Table added in v1.4.2

type Table struct {
	TableName string
	Columns   []*Column
}

func (*Table) Create added in v1.4.2

func (t *Table) Create() string

func (*Table) Drop added in v1.4.2

func (t *Table) Drop() string

Jump to

Keyboard shortcuts

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