The second tip is handy when youâ€™re working on a migration. I find that the process (for me) works like this:
* Create the migration and run it.
* Discover I forgot something.
* Migrate down to the previous schema version.
* Change the migration and run it again.
(Repeat as necessary.) However, being the imperfect programmer that I am, I find that I often implement the #down method incorrectly, forgetting to drop a table or remove a column. Thus, when I try to run the migration again, it fails saying that the table/column already exists.
Using script/console and ActiveRecord::Schema, it becomes a cinch to clean up the artifacts:
remove_column :bars, :blitz
remove_column :bars, :things