It seems strange to me, that creation of model, running migration, destroying it, and creating again same model reports SQL exception:
project|master ⇒ rails g m
You deleted the model–that's a different operation than rolling back a migration.
Destroying a model does precisely, and only, that; it has nothing to do with migrations.