I have a whole bunch of migrations I've built up over a period of time, and I just tried to run them on an empty database (to create a brand new database for my app). I received errors that indicate the migrations are being run in the wrong order (using --verbose I see it running a migration that it shouldn't be running based on the timestamps). I'm at a loss to explain how this could happen from looking at the code, since I see the array of migrations is sorted twice (once when read from the filesystem and again in filterUp()). Is it possible that the filtering code is messing up the order? Is it possible that sort() isn't sorting quite the way that is intended? Please let me know if I can offer any further info.
Can you check the migrations table to make sure all the expected migrations are in there with sane column values?
fix ordering error on empty db. closes #51
This fix is now available in version 0.2.5