-
Notifications
You must be signed in to change notification settings - Fork 324
Support go migrations #344
Comments
Hey @denismakogon, could you please describe a case where the SQL is useless. Thanks. |
@rubens21 so, here's the thing, if i have a system with a lot of migrations applied and i have to apply changes to multiple tables in one query (image bunch of resources tight down with a lot cross-references), so, in order to make things work i need to update one table with an appropriate field with a value that, imagine, comes from 3rd-party service. So, most of the complex migrations can't fit into one *.sql file, so i need to write some go code in the migrations, that is more than necessary. We ended up having our own simple SQL migrations framework: https://github.com/fnproject/fn/tree/master/api/datastore/sql/migratex |
Moreover, you can't write SQL migration with altering the column and make it work on sqlite3, you need to create a new table with modifications applied, copy the data from an old table, delete old table, etc. |
Thank so much for such fast and detailed response. |
SQL migrations is a good thing, but likely useless in many cases. Migrate must support go migrations, i.e a function that accepts an instance of the database or a transaction object (in case of SQL datastores).
Something along the lines of this to up the version:
down also looks the same:
The text was updated successfully, but these errors were encountered: