Also, it seems, based on the 2 threads I linked in the original post,
that this behaviour was introduced in rails 2.1 -- but I haven't
confirmed that myself.
In my case (replying to Andrew Bloom's question), I was automatically
defining helper methods like "admin?", "student?", etc, based on data
in the roles table, to save typing "current_user.has_role?(:admin)"
etc... my code was smart enough to not fail if the roles table was
missing (so that at least the migrations creating the roles table
wouldn't fail), but I wasn't checking for the presence of the entire
database. rake db:create fails before creating the database, because
it loads my application, which expects a database!
I agree that it's not a huge issue, but you know, I think rails could
do with some tidying up before the next million new features are
added. For someone relatively new to rails like myself, all these
small issues add up and bite one or two days out of every week of
work. I don't mean to criticise anyone that works on rails, your work
is hugely appreciated, and I realise I should be submitting patches
myself if I want things to improve (once I get my head around the
rails code). But I feel like I have been battling against the
framework far more than necessary. Hopefully rails has reached a high
enough level of maturity, feature-wise, that bug-fixes will be given
priority over new features.