Rake db:migrate -> uninitialized constant

Hi–

I’m trying to do a first migration (2.3.5). I generated a model
“Video”, but when I try to migrate I get “uninitialized constant
Videos”. Why is it trying to find a plural class name?

Here’s more complete output:

trans@logisys:models$ rake db:migrate --trace
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
rake aborted!
An error has occurred, this and all later migrations canceled:

uninitialized constant Videos
/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/
dependencies.rb:443:in load_missing_constant' /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/ dependencies.rb:80:inconst_missing’
/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/
dependencies.rb:92:in const_missing' /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/ inflector.rb:361:inconstantize’
/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/
inflector.rb:360:in each' /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/ inflector.rb:360:inconstantize’
/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/
core_ext/string/inflections.rb:162:in constantize' /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/ migration.rb:374:inload_migration’
/usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/
migration.rb:369:in migration' /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/ migration.rb:365:inmigrate’
/usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/
migration.rb:486:in migrate' /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/ migration.rb:560:incall’

On 18 March 2010 19:32, trans [email protected] wrote:

** Invoke environment (first_time)
/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/
migration.rb:374:in load_migration' /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/ migration.rb:369:in migration’
/usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/
migration.rb:365:in migrate' /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/ migration.rb:486:in migrate’
/usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/
migration.rb:560:in `call’

It might be helpful if you showed us the code of the migration that
adds the table.

However I suspect the problem is down to class/table name.
The model should be in video.rb and should be class Video
The table should be called videos (plural and lower case)

If you think you have that right post the code you have written for
the migration.

Colin

On Mar 18, 6:25 pm, Frederick C. [email protected]
wrote:

Is you migration file called 2010031812456_videos.rb by any chance ?
(the numbers will be different). If so then rails assumes that the
migration file will define a subclass of ActiveRecord::Migration with
the same name as the end of the migration filename.

That was it. Thanks.

On Mar 18, 7:32 pm, trans [email protected] wrote:

Hi–

I’m trying to do a first migration (2.3.5). I generated a model
“Video”, but when I try to migrate I get “uninitialized constant
Videos”. Why is it trying to find a plural class name?

Is you migration file called 2010031812456_videos.rb by any chance ?
(the numbers will be different). If so then rails assumes that the
migration file will define a subclass of ActiveRecord::Migration with
the same name as the end of the migration filename.

Fred