rubenv / sql-migrate

SQL schema migration tool for Go.
MIT License
3.16k stars 269 forks source link

MemoryMigrationSource execution order is wrong #253

Open KopiasCsaba opened 10 months ago

KopiasCsaba commented 10 months ago

Dear author(s), thank you very much for this library.

I have just found a little bug in it, I'm using it as a library based on the example in the main README.md. So I was all right until I had migration_0, migration_1, migration_2 as ids, but upon reaching migration_10 it broke. So I'm guessing the ordering is the "naive" ordering, that results in something like this: 0,1,10,2,3,4.

So probably we'd need some kind of a natural sorting in here, and this might affect other sources too, I'm not sure.

Anyhow, for now I'll go with 0001, 0002, ..., 0010 to solve this, but thought to report it anyhow.

Cheers!

rubenv commented 10 months ago

As far as I can remember the numbers should be prefixes, otherwise it defaults to natural sorting indeed.

KopiasCsaba commented 10 months ago

In my case, where I had these IDs:

It wanted to execute them in the order of 0,1,10,2,3,4,5,6,7,8,9.