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!

2012/1/28 Soichi I. [email protected]

Thanks for the clarification!

soichi

On Sat, Jan 28, 2012 at 22:14, Soichi I. [email protected]
wrote:

the migration file above?
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


Dave A.: Available Cleared Ruby on Rails Freelancer
(NoVa/DC/Remote) – see www.DaveAronson.com, and blogs at
www.Codosaur.us, www.Dare2XL.com, www.RecruitingRants.com

Thank you so much.

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

soichi

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs