RE: rake aborted when adding a column


#1

Hi Ken K.,

It is called name convention in rails. If your class is CreateVendors,
your migration file should be xxx_create_vendors.rb …


From: removed_email_address@domain.invalid
[mailto:removed_email_address@domain.invalid] On Behalf Of Ken K.
Sent: Tuesday, May 16, 2006 2:04 PM
To: removed_email_address@domain.invalid
Subject: RE: [Rails] rake aborted when adding a column

I fixed it by changing the name of the migration from 002_ssn.rb to
002_add_ssn.rb. I have no idea why that worked, but it did the trick.

Ken K.


Kenneth A. Kousen, Ph.D.
President
Kousen IT, Inc.
http://www.kousenit.com http://www.kousenit.com/
removed_email_address@domain.invalid

-------- Original Message --------
Subject: [Rails] rake aborted when adding a column
From: Ken K. <removed_email_address@domain.invalid>
Date: Tue, May 16, 2006 1:23 pm
To: removed_email_address@domain.invalid

I'm having a silly little problem with migrations.  All I'm

trying to do is to add an SSN column to my Employees table. I generated
a migration which looks like:

class AddSsn < ActiveRecord::Migration

  def self.up

    add_column :employees, :ssn, :string

  end

  def self.down

    remove_column :employees, :ssn

  end

end


When I run this, however, I get:

>rake db:migrate

(in C:/workspace/hr)

rake aborted!

uninitialized constant Ssn



I tried running with --trace but I don't see how that helped.  I

did have the migration syntax wrong a couple of times, but now even
though I think it’s fine, it still doesn’t work.

Any suggestions would be appreciated.



I'm running Ruby 1.8.4 with Rails 1.1.2 on Windows, btw.



Ken K.
--
Kenneth A. Kousen, Ph.D.
President
Kousen IT, Inc.
http://www.kousenit.com <http://www.kousenit.com/>
removed_email_address@domain.invalid

_______________________________________________
Rails mailing list
removed_email_address@domain.invalid
http://lists.rubyonrails.org/mailman/listinfo/rails

#2

I haven’t had a problem using semi-arbitrary naming for my migrations.
Examples include xxx_add_yyy, xxx_create_yyy, xxx_change_yyy,
xxx_make_yyy.
And the yyy in my examples is frequently NOT just the table name, so I
am
pretty sure that whatever naming conventions exist for migrations they
are
not strictly enforced by rake.


#3

Whoops, missed the nuance of what you were saying. Yes, the file name
and
migration class name must be the same. But the name for the migration
doesn’t have to match what you are doing (e.g. 002_add_vendors_column).