Rails/Rake Migrations - Newbie Question

Hello,

I have a problem understanding Rails/Rake migrations.

For example let's say I have a migrate-script like this:

class CreateUsers < ActiveRecord::Migration   def self.up     create_table :users do |t|       t.string :name       t.string :username       t.string :password       t.string :email       t.timestamps     end

    User.create :name=>"John Smith", :email=>"js@fakedomain.com", :username=>"js", :password="jsRules!"   end

  def self.down     drop_table :users   end end

If I do a migration with db:reset it will update all tables, DELETE EVERYTHING, and then insert John Smith.

However, let's say I want to add a

t.string :secret_answer

to that model, and migrate it, what do I use?

I would like to keep all data already in DB and just have rake add one column to the table.

I tried migrate:redo, migrate.up etc. The latter even requires a Version value. What do I enter here?

Now this is obviously a very noobish question, but maybe one of you can clarify.

FYI, I'm using latest RoR with Aptana on Windows7 and mySQL as DB- backend.

Thanks, Lukas

To apply migrations that have not already been applied use rake db:migrate

http://guides.rubyonrails.org/ has a guide on migrations, but start with Getting Started if you have not already worked through that. Then work through the others.

Colin

Colin, Thanks.

You know, I first looked at Rails one year ago and knew this. But somehow I forgot it. Thanks for pointing knucklehead-me back to the basics. :slight_smile:

I basically create new migrations and then db:migrate works like a charm.

Thanks!