sql-migrate icon indicating copy to clipboard operation
sql-migrate copied to clipboard

MemoryMigrationSource execution order is wrong

Open KopiasCsaba opened this issue 10 months ago • 2 comments

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!

KopiasCsaba avatar Sep 04 '23 06:09 KopiasCsaba

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

rubenv avatar Sep 04 '23 06:09 rubenv

In my case, where I had these IDs:

  • migration_0
  • migration_1
  • migration_2
  • migration_3
  • migration_4
  • migration_5
  • migration_6
  • migration_7
  • migration_8
  • migration_9
  • migration_10

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

KopiasCsaba avatar Sep 04 '23 06:09 KopiasCsaba