<p>I come from Ruby On Rails background and want to create API using Go (Beego to be specific, please do not try to convince me to not use framework because it is not the 'Go way'™), but from what I have seen database management tools are not really mature yet, or am I missing something? I opted out from Beegos ORM because of its lack of migration tools (manually dropping tables/deleting columns, no real versioning etc). I think the other pretty mature ORM is <a href="https://github.com/jinzhu/gorm" rel="nofollow">Gorm</a>, but it lacks migartions/schema management tools I got to used to in Ruby On Rails. The only one thing that reminds me of ActiveRecords features is <a href="https://bitbucket.org/liamstask/goose/" rel="nofollow">goose</a> - does anyone have experience using it, and if so, is it good? Or even better, using it with beego?
Any other suggestions are welcome.</p>
<hr/>**评论:**<br/><br/>kpurdon: <pre><p>Seriously check out <a href="https://gobuffalo.io/docs/getting-started" rel="nofollow">https://gobuffalo.io/docs/getting-started</a> ... I'm not telling you this because "beego is not the go way", rather because you say you want something like Rails w/ migration, an ORM, and all the other stuff ready to go. Buffalo provides that.</p>
<p>You are correct that db migration in Go is a bit immature right now. <a href="https://github.com/mattes/migrate" rel="nofollow">https://github.com/mattes/migrate</a> or <a href="https://github.com/pressly/goose" rel="nofollow">https://github.com/pressly/goose</a> mostly work, but definitely, have their issues. Buffalo implements their own migration tooling <a href="https://github.com/markbates/pop/blob/master/fizz%2FREADME.md" rel="nofollow">https://github.com/markbates/pop/blob/master/fizz%2FREADME.md</a> that you can use on your own.</p></pre>Kubczi: <pre><p>well, It actually looks pretty solid, definetly gonna give it a try, thanks!</p></pre>
