2013-04-09 62 views
0

到目前爲止,我在部署我的應用時遇到了很多問題。 但是,今晚部署後,我得到了一個無法修復的應用程序錯誤。所以我做了從v7回滾到v4從一週前。該應用程序再次工作,但我決定嘗試「git push heroku master -f」v5,我不認爲會在v7上找到應用程序錯誤。不幸的是,v5也給了我同樣的錯誤。如何解決我的git推送錯誤?我把它搞砸了嗎?

之後,我試着回滾到工作版本v4但它仍然給我一個錯誤。我嘗試了另一個回滾,但它仍然給我一個應用程序錯誤。然後,我嘗試從我的本地硬盤「git push heroku master -f」v4(我知道這是作品),但它現在說「一切都是最新的」。

我從這裏做什麼?我的應用程序不能在heroku上工作,我無法進行任何回滾,甚至無法推送現在可用的版本。我怎樣才能使它工作?我想重新部署v4這是一個工作版本,並逐個重寫代碼以回到當前級別。

一切正常的發展環境時,並觀看在rails server 但是,這是運行rails server -e production

Started GET "/" for 127.0.0.1 at 2013-04-09 02:09:49 -0700 
Processing by StaticPagesController#home as HTML 
Completed 500 Internal Server Error in 1ms 

ActiveRecord::StatementInvalid (Could not find table 'users'): 
    app/helpers/sessions_helper.rb:19:in `current_user' 
    app/helpers/sessions_helper.rb:11:in `signed_in?' 
    app/controllers/static_pages_controller.rb:3:in `home' 




Started GET "/favicon.ico" for 127.0.0.1 at 2013-04-09 02:09:49 -0700 

ActionController::RoutingError (No route matches [GET] "/favicon.ico"): 
    actionpack (3.2.3) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `c 
all' 
    actionpack (3.2.3) lib/action_dispatch/middleware/show_exceptions.rb:56:in `ca 
ll' 
    railties (3.2.3) lib/rails/rack/logger.rb:26:in `call_app' 
    railties (3.2.3) lib/rails/rack/logger.rb:16:in `call' 
    actionpack (3.2.3) lib/action_dispatch/middleware/request_id.rb:22:in `call' 
    rack (1.4.5) lib/rack/methodoverride.rb:21:in `call' 
    rack (1.4.5) lib/rack/runtime.rb:17:in `call' 
    activesupport (3.2.3) lib/active_support/cache/strategy/local_cache.rb:72:in ` 
call' 
    rack (1.4.5) lib/rack/lock.rb:15:in `call' 
    rack-cache (1.2) lib/rack/cache/context.rb:136:in `forward' 
    rack-cache (1.2) lib/rack/cache/context.rb:245:in `fetch' 
    rack-cache (1.2) lib/rack/cache/context.rb:185:in `lookup' 
    rack-cache (1.2) lib/rack/cache/context.rb:66:in `call!' 
    rack-cache (1.2) lib/rack/cache/context.rb:51:in `call' 
    railties (3.2.3) lib/rails/engine.rb:479:in `call' 
    railties (3.2.3) lib/rails/application.rb:220:in `call' 
    rack (1.4.5) lib/rack/content_length.rb:14:in `call' 
    railties (3.2.3) lib/rails/rack/log_tailer.rb:14:in `call' 
    rack (1.4.5) lib/rack/handler/webrick.rb:59:in `service' 
    C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `servi 
ce' 
    C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run' 
    C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/webrick/server.rb:191:in `block in 
start_thread' 

然而,當我得到的錯誤,錯誤的是我使用heroku logs部署後得到的是相關的導軌superclass mismatch error控制器

+0

首先發布你的heroku錯誤。您可以通過'heroku logs'命令查看錯誤。 – 2013-04-09 08:50:19

+0

我們試圖解決這個問題,並問了很多人,但我們不知道如何解決它。該錯誤與軌道控制器中類的「超類不匹配」有關。我們正試圖讓工作版本逐步完成並重寫代碼。如何在使用'git push heroku master -f'的情況下部署v4,當它顯示「一切都是最新的」時。後來的版本有應用程序錯誤 – johbones 2013-04-09 08:54:23

+0

只是貼出錯誤關閉'rails服務器-e生產' – johbones 2013-04-09 09:14:15

回答

0

你的日誌的一部分是說你沒有表users

的ActiveRecord :: StatementInvalid(找不到表 '用戶'):
應用程序/傭工/ sessions_helper.rb:19:current_user'
app/helpers/sessions_helper.rb:11:in
signed_in「?
應用程序/控制器/ static_pages_controller.rb:3:在'家」

你有沒有應用遷移?如果不是,請嘗試以下方法:

rake db:migrate 
0

這裏有兩個無關的問題。 rails server -e production不起作用,因爲您需要針對生產版本的本地數據庫運行遷移,因此請執行以下操作:RAILS_ENV=production rake db:migrate

您的Heroku問題與此無關。您需要發佈您的來自heroku logs的Heroku日誌,以便任何人爲您提供幫助。

此外,強制git推Heroku不是你如何回滾發佈。你這樣做:heroku releases:rollback [RELEASE]