changing migration

Rails 3.1.3

This is again a very basic question.

Suppose I have implemented

$ rails generate scaffold script video:references text:string

it generated

20120128103756_create_scripts.rb

But I want to change this model, so instead of redoing it like "rails destroy .... -> rails generate scaffold...", all I need to do is to edit the migration file above? Or do I need to reproduce ANOTHER migration file like above and add

t.remove :text

???

I am a little confused because the migration file above has the time-stamp, which indicates the time of execution (rake db:migrate). So, does that mean the file above is useless unless I want to rollback?

generate a new migratio where you specify what you want to do say:

remove_column :table, :column

add_column :table, :column, :type

Regards!

Thanks for the clarification!

soichi

Depends. If you haven't yet run rake db:migrate, you can just edit the migration, but you need to know what you're doing if it's complex. If you've already migrated, and you've used any new columns or tables you've added, then you must create another migration. If you've migrated but not used the new columns or tables, and it's a migration that CAN be rolled back (not all can), you *can* roll it back (rake db:rollback), fix it, and re-migrate... but you must be *very* certain that your rollback won't lose you any data.

-Dave

Thank you so much.

I think it's getting more fun to explore Rails!

soichi