Rails生产数据库错误500(没有这样的表)

时间:2013-11-23 12:03:09

标签: ruby-on-rails environment production

我很伤心,因为我在生产环境中尝试启动我的rails应用程序时出现错误500 (在开发中 - 工作正常)

日志

...

E, [2013-11-23T13:06:45.285466 #5951] ERROR -- : SQLite3::SQLException: 
   no such table: posts: SELECT "posts".* FROM "posts"

F, [2013-11-23T13:06:45.299620 #5951] FATAL -- : 
ActionView::Template::Error (SQLite3::SQLException: no such table: posts: 
SELECT "posts".* FROM "posts"):

...

RAILS 4.0.0
红宝石1.9.3p194

我希望这些信息足够了。我准备写更多......


我将等待你的帮助,朋友们)

我的database.yml部分

development:
  adapter: sqlite3
  database: db/development.sqlite3
  pool: 5
  timeout: 5000

test:
  adapter: sqlite3
  database: db/test.sqlite3
  pool: 5
  timeout: 5000

production:
  adapter: sqlite3
  database: db/production.sqlite3
  pool: 5 
  timeout: 5000

我在本地运行

<小时/> 我跑了* rake db:创建RAILS_ENV = production *并写了

/usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler.rb:284: 
warning: Insecure world writable dir /home/vitalina/.rvm/bin in PATH, 
mode 040777
db/production.sqlite3 already exists

<小时/> 我跑

  1. sudo chmod go-w / usr / local / bin
  2. rake db:migrate RAILS_ENV =&#34; production&#34;
  3. RAILS_ENV =生产包exec rake资产:预编译
  4. 然后启动服务器。没有t error500 more, but it doesn打印数据库中的信息(我看到一个空白页面)

    它在日志中写道:

    ...
    F, [2013-11-23T14:53:11.909041 #6273] FATAL -- : 
    ActionController::RoutingError (No route matches [GET] "/assets/application-
    8395b8cd00dfdd4bd6e91eade784fa41.css")
    ...
    

1 个答案:

答案 0 :(得分:4)

要解决500错误,请确保按照以下步骤操作:

1)rake db:create RAILS_ENV=production

2)rake db:migrate RAILS_ENV=production

现在您有关于资产管道的其他问题。 您可以在此处找到一些帮助:No route matches [GET] /assets