Until I deploy a project, I avoid making migrations to adjust the
database structure every time it is tweaked. Instead, I go into the
original migration, change the data type, and then rebuild the
database (either by migrating to version 0 and back as you indicate,
or by rake db:drop, rake db:create, rake db:migrate).
This keeps the original migrations accurate, which I find helpful, as
I often refer to those migrations to tell me what data is available to
a particular class. After an application in in production, this isn't
feasible because your database has valuable data, and it probably
wouldn't work in a team setting, but I find it useful so long as the
flexibility is available to you.
Cheers,
Daniel
When in production with real data, I use migrations.
-Daniel