Rails:'找不到表'错误

Zak*_*ria 6 ruby-on-rails production-environment

我开发了一个简单的rails应用程序,可以在我的开发机器上运行.

当我把它放在生产服务器(Phusion Passenger/Nginx)上时,它会在my_app/log/production.log文件中返回错误:

ActiveRecord::StatementInvalid (Could not find table 'categories')
Run Code Online (Sandbox Code Playgroud)

怎么了?

PS:命名错误后,表名被手动编辑,但在开发模式下效果很好.我不怀疑错误的错误.

Mun*_*PhD 6

  1. 确保在生产服务器上运行数据库迁移

  2. 在Rails中手动编辑表是一个巨大的不可.它会给你带来比头脑更多的麻烦.如果你需要改变一些东西,你就更好地生成一个新的迁移来改变它 - 即使它只是一个名称改变.(但是你可以回滚数据库更改,删除最后一次迁移并创建一个新的 - 但就像我说的那样 - 它比它的价值更麻烦)

  3. 确保您的架构xml文件正确或至少与实际架构匹配.您可以删除它并运行rake:db:migrate以生成一个新的.