Package darwin provides a database schema evolution api for Go. The purpose of this library is just be a library. You can implement your own way of building the migration list. It is not recommended to put more than one database change per migration, if some migration fail, you exactly what statement caused the error. Also only postgres correctly handle rollback in DDL transactions. The best way to version your migrations is like this: 1.0, 1.1, 1.2 Please read the following posts for more information on the design principles if this package. Given this file: You can write this code:

go get