package migrate type Dialect interface { CreateTable(table string) string TableExists(table string) string CheckVersion(table string) string InsertVersion(table string) string } func Sqlite3() Dialect { return sqlite3{} } type sqlite3 struct{} func (s sqlite3) CreateTable(table string) string { return "CREATE TABLE " + table + ` ( id INTEGER PRIMARY KEY AUTOINCREMENT, description VARCHAR, applied TIMESTAMP);` } func (s sqlite3) TableExists(table string) string { return "SELECT * FROM " + table + ";" } func (s sqlite3) CheckVersion(table string) string { return "SELECT id FROM " + table + " ORDER BY id DESC LIMIT 0, 1;" } func (s sqlite3) InsertVersion(table string) string { return "INSERT INTO " + table + "(description, applied) VALUES (?,?);" }