title: MissingSchemaError in NodeJS app on Heroku server
body: <p>My app is successfully works on my local.</p>
  
  <p>When I push it to a heroku server, sometimes it crashes with this error:</p>
  
  <pre><code>2012-12-28T10:00:53+00:00 heroku[web.1]: Starting process with command `node server.js`
  2012-12-28T10:00:54+00:00 app[web.1]: 
  2012-12-28T10:00:54+00:00 app[web.1]: /app/node_modules/mongoose/lib/index.js:261
  2012-12-28T10:00:54+00:00 app[web.1]:       throw new mongoose.Error.MissingSchemaError(name);
  2012-12-28T10:00:54+00:00 app[web.1]:             ^
  2012-12-28T10:00:54+00:00 app[web.1]: MissingSchemaError: Schema hasn't been registered for model "Activity".
  2012-12-28T10:00:54+00:00 app[web.1]: Use mongoose.model(name, schema)
  2012-12-28T10:00:54+00:00 app[web.1]:     at Mongoose.model (/app/node_modules/mongoose/lib/index.js:261:13)
  2012-12-28T10:00:54+00:00 app[web.1]:     at Object.&lt;anonymous&gt; (/app/app/models/user.js:8:25)
  2012-12-28T10:00:54+00:00 app[web.1]:     at Module._compile (module.js:449:26)
  2012-12-28T10:00:54+00:00 app[web.1]:     at Object.Module._extensions..js (module.js:467:10)
  2012-12-28T10:00:54+00:00 app[web.1]:     at Module.load (module.js:356:32)
  2012-12-28T10:00:54+00:00 app[web.1]:     at Function.Module._load (module.js:312:12)
  2012-12-28T10:00:54+00:00 app[web.1]:     at Module.require (module.js:362:17)
  2012-12-28T10:00:54+00:00 app[web.1]:     at require (module.js:378:17)
  2012-12-28T10:00:54+00:00 app[web.1]:     at /app/server.js:23:3
  2012-12-28T10:00:54+00:00 app[web.1]:     at Array.forEach (native)
  2012-12-28T10:00:55+00:00 heroku[web.1]: Process exited with status 1
  2012-12-28T10:00:55+00:00 heroku[web.1]: State changed from starting to crashed
  </code></pre>
  
  <p>In my server.js, I am loading models with this code:</p>
  
  <pre><code>var models_path = __dirname + '/app/models'
  fs.readdirSync(models_path).forEach(function (file) {
       require(models_path+'/'+file)
  })
  </code></pre>
  
  <p>And my activity.js is:</p>
  
  <pre><code>var mongoose = require('mongoose')
    , Schema = mongoose.Schema
    , moment = require('moment')
  
  var schemaOptions = {
      toJSON: {
        virtuals: true
      }
  };
  var ActivitySchema = new Schema({
      venue: {type : Schema.ObjectId, ref : 'Venue'}
    , user: {type : Schema.ObjectId, ref : 'User'}
    , createdAt: {type : Date, default : Date.now}
    , rate: Number
    , message : String
    , source : String 
  }, schemaOptions)
  mongoose.model('Activity', ActivitySchema)
  
  ActivitySchema.index({ "user": 1, "venue"  : 1 }, { unique: true })
  
  var modifiedAt = require('../../config/plugins.js');
  ActivitySchema.plugin(modifiedAt, { index: false });
  
  ActivitySchema.virtual('summary').get(function () {
          moment.lang('en');
  
      return moment(this.createdAt).fromNow()  + ' via ' + this.source;
  });
  </code></pre>
  
  <p>Weird thing is, sometimes the app crashes but sometimes it works. What can I do to solve it?</p>