I’m curious on the best practice to remedy this situation…
I created a habtm migration but forgot the :id => false
I ran the migration (rake db:migrate)
I tried to run my tests and then go the error that made me realize I forgot the :id => false.
The question is how do I back out my changes?
Typically I do rake db:migrate VERSION=0
But that also gave me the same error about “Primary key is not allowed in a has_and_belongs_to_many join table”
So I then fired up dbconsole and manually dropped the table.
But now I even if I run rake db:migrate the join table isn’t created - probably because it ‘think’ it had run it previously.
I also can’t run db:migrate VERSION=0, since it tries to call the drop table on the table that I manually dropped.
I managed to get things working by commented out my drop_table command in my migration and then running db:migrate VERSION=0, then doing rake db:migrate
and now I’m ok, but I’d think there would have been easier approach to fix things?