Search code examples
ruby-on-railsrakerails-migrations

rake db:migrate does nothing, even on reset


Here is a very strange issue I have on my new computer setup (otherwise, it's working on my other setups).

I'm running : rake db:migrate
No errors, but it does nothing...

rake db:migrate:status show me the list of pendings migrations (marked as "down"), the ones that I effectively have in my bd/migrate folder.

Even if I run those commands or removing files in db/* manually, db:migrate is still useless.
rake db:drop:all
rake db:create
rake db:migrate

I have tried also db:reset, db:rollback STEP=1000.

If I specify a VERSION number (one from the list given by db:migrate:status) as:
rake db:migrate VERSION=20150106184930

I've got the following error:
No migration with version number 20150106184930

I have also generated a new migration with:
rails generate migration TestMigration
And again, db:migrate completely ignor it.

My current setup is: windows7, rails 4.2.0, rake 10.3.2.

Thanks for any help, clues...


Solution

  • After hours of deep debugging in rake, reinstalled all my complete setup, I finally figured out that the problem was comming from the "non so special" characters [ or ] somewere in my project path!!

    DAMN RAILS!

    Due to readability, all my project's folders start with "[NAME-OF-PROJECT]xxxx/"... then in this particular rails project comes a subfolder for the rails app.

    No error, nothing that point you out that the path name could be the issue. I'm quite sur that "[" and "]" are not forbidden character (even on linux) : http://en.wikipedia.org/wiki/Filename#Reserved_characters_and_words
    And why "[" or "]" makes rake db:migrate failing and not rake db:migrate:status???

    For me it clearly shows some weakness in rails architecture. I should probably do a bug report for that... can someone point me some report mailing list or whatever?

    I hope that my misadventure will save hours for others.