# How? Why? Production Woes

**URL:** <https://www.ruby-forum.com/t/how-why-production-woes/148127>\
**Category:** Rails\
**Created:** [September 9, 2008, 4:26pm UTC](https://www.ruby-forum.com/t/how-why-production-woes/148127 "2008-09-09T16:26:33Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![jeremy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/82dd89/32.png) [@jeremy](https://www.ruby-forum.com/u/jeremy)\
**Post date:** [September 9, 2008, 4:26pm UTC](https://www.ruby-forum.com/t/how-why-production-woes/148127/1 "2008-09-09T16:26:33Z")

</div>

So, I can migrate without error in development, but when I migrate in  
production I get what’s below. The gems are the same, rails is the  
same version…what am I missing?

[root@uranus current]# rake db:migrate RAILS\_ENV=production --trace  
(in /apps/listjutsu/releases/20080909133505)  
\*\* Invoke db:migrate (first\_time)  
\*\* Invoke environment (first\_time)  
\*\* Execute environment  
rake aborted!  
uninitialized constant User::Authentication  
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active\_support/  
dependencies.rb:492:in `const_missing' /apps/listjutsu/releases/20080909133505/app/models/user.rb:4 /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in`gem\_original\_require’  
/usr/lib/ruby/site\_ruby/1.8/rubygems/custom\_require.rb:27:in `require' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/ dependencies.rb:509:in`require’  
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active\_support/  
dependencies.rb:354:in `new_constants_in' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/ dependencies.rb:509:in`require’  
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active\_support/  
dependencies.rb:101:in `require_or_load' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/ dependencies.rb:260:in`load\_missing\_constant’  
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active\_support/  
dependencies.rb:467:in `const_missing' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/ dependencies.rb:479:in`const\_missing’  
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active\_support/  
inflector.rb:283:in `constantize' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/ core_ext/string/inflections.rb:143:in`constantize’  
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active\_record/  
observer.rb:157:in `observed_class' /usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/ observer.rb:183:in`observed\_classes’  
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active\_record/  
observer.rb:166:in `initialize' /usr/lib/ruby/1.8/singleton.rb:95:in`new’  
/usr/lib/ruby/1.8/singleton.rb:95:in `instance' /usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/ observer.rb:38:in`instantiate\_observers’  
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active\_record/  
observer.rb:36:in `each' /usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/ observer.rb:36:in`instantiate\_observers’  
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action\_controller/  
dispatcher.rb:26:in `define_dispatcher_callbacks' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/ callbacks.rb:177:in`call’  
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active\_support/  
callbacks.rb:177:in `evaluate_method' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/ callbacks.rb:161:in`call’  
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active\_support/  
callbacks.rb:90:in `run' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/ callbacks.rb:90:in`each’  
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active\_support/  
callbacks.rb:90:in `send' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/ callbacks.rb:90:in`run’  
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active\_support/  
callbacks.rb:272:in `run_callbacks' /usr/lib/ruby/gems/1.8/gems/rails-2.1.0/lib/initializer.rb:483:in`send’  
/usr/lib/ruby/gems/1.8/gems/rails-2.1.0/lib/initializer.rb:483:in  
`prepare_dispatcher' /usr/lib/ruby/gems/1.8/gems/rails-2.1.0/lib/initializer.rb:151:in`process’  
/usr/lib/ruby/gems/1.8/gems/rails-2.1.0/lib/initializer.rb:93:in  
`send' /usr/lib/ruby/gems/1.8/gems/rails-2.1.0/lib/initializer.rb:93:in`run’  
/apps/listjutsu/releases/20080909133505/config/environment.rb:13  
/usr/lib/ruby/site\_ruby/1.8/rubygems/custom\_require.rb:27:in  
`gem_original_require' /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in`require’  
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active\_support/  
dependencies.rb:509:in `require' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/ dependencies.rb:354:in`new\_constants\_in’  
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active\_support/  
dependencies.rb:509:in `require' /usr/lib/ruby/gems/1.8/gems/rails-2.1.0/lib/tasks/misc.rake:3 /usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:546:in`call’  
/usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:546:in `execute' /usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:541:in`each’  
/usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:541:in `execute' /usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:508:in`invoke\_with\_call\_chain’  
/usr/lib/ruby/1.8/thread.rb:135:in `synchronize' /usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:501:in`invoke\_with\_call\_chain’  
/usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:518:in  
`invoke_prerequisites' /usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1183:in`each’  
/usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1183:in `send' /usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1183:in`each’  
/usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:515:in  
`invoke_prerequisites' /usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:507:in`invoke\_with\_call\_chain’  
/usr/lib/ruby/1.8/thread.rb:135:in `synchronize' /usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:501:in`invoke\_with\_call\_chain’  
/usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:494:in `invoke' /usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1931:in`invoke\_task’  
/usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1909:in `top_level' /usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1909:in`each’  
/usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1909:in `top_level' /usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1948:in`standard\_exception\_handling’  
/usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1903:in `top_level' /usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1881:in`run’  
/usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1948:in  
`standard_exception_handling' /usr/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1878:in`run’  
/usr/lib/ruby/gems/1.8/gems/rake-0.8.1/bin/rake:31  
/usr/bin/rake:19:in `load’  
/usr/bin/rake:19

---

<div class="post-metadata">

**Author:** ![jeremy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/82dd89/32.png) [@jeremy](https://www.ruby-forum.com/u/jeremy)\
**Post date:** [September 9, 2008, 4:27pm UTC](https://www.ruby-forum.com/t/how-why-production-woes/148127/2 "2008-09-09T16:27:44Z")

</div>

Did you try to:  
rake db:migrate VERSION=0  
rake db:migrate

You will probably face the same problem…

Rodrigo.

---

<div class="post-metadata">

**Author:** ![jeremy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/82dd89/32.png) [@jeremy](https://www.ruby-forum.com/u/jeremy)\
**Post date:** [September 9, 2008, 4:28pm UTC](https://www.ruby-forum.com/t/how-why-production-woes/148127/3 "2008-09-09T16:28:19Z")

</div>

Anyway, you should check this one:

/apps/listjutsu/releases/20080909133505/app/models/user.rb:4

Rodrigo.

---

<div class="post-metadata">

**Author:** ![jeremy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/82dd89/32.png) [@jeremy](https://www.ruby-forum.com/u/jeremy)\
**Post date:** [September 9, 2008, 4:40pm UTC](https://www.ruby-forum.com/t/how-why-production-woes/148127/4 "2008-09-09T16:40:03Z")

</div>

Actually, yes I tried running the migration from the beginning with a  
clean db (and backwards for good measure) and it works just fine and  
dandy in development. \* scratches head \*

On Sep 9, 10:08 am, Rodrigo Rosenfeld R. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![jeremy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/82dd89/32.png) [@jeremy](https://www.ruby-forum.com/u/jeremy)\
**Post date:** [September 9, 2008, 4:44pm UTC](https://www.ruby-forum.com/t/how-why-production-woes/148127/5 "2008-09-09T16:44:10Z")

</div>

Alright, nevermind. Apparently for whatever reason the  
restful\_authentication plugin directory didn’t make it into my git  
repo. \>:-(

---

<div class="post-metadata">

**Author:** ![jeremy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/82dd89/32.png) [@jeremy](https://www.ruby-forum.com/u/jeremy)\
**Post date:** [January 4, 2009, 9:58pm UTC](https://www.ruby-forum.com/t/how-why-production-woes/148127/6 "2009-01-04T21:58:50Z")

</div>

Jeremy wrote:

> Alright, nevermind. Apparently for whatever reason the  
> restful\_authentication plugin directory didn’t make it into my git  
> repo. \>:-(

I had the same problem.

I probably originally used:  
./script/plugin install  
git://github.com/technoweenie/restful-authentication.git

In any case, my restful\_authentication folder was there in the project,  
but it’s contents for whatever reason were silently never added to the  
repo.

---

<div class="post-metadata">

**Author:** ![jeremy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/82dd89/32.png) [@jeremy](https://www.ruby-forum.com/u/jeremy)\
**Post date:** [January 4, 2009, 10:53pm UTC](https://www.ruby-forum.com/t/how-why-production-woes/148127/7 "2009-01-04T22:53:11Z")

</div>

Don’t look at the rest of the error message, here is your problem:

> uninitialized constant User::Authentication

I am pretty sure, during development you have mispelled User or  
authentication, and it only appears now when you want to run a migration  
on a fresh server.

Use the grep tool to hunt it down in your code.

–  
Video tutorial training by screencasts at [http://www.digiprof.fr](http://www.digiprof.fr)
