簡體   English   中英

將應用程序推送到heroku時出現奇怪的錯誤

[英]Strange error when pushing app to heroku

我是將應用程序推向生產環境的新手。 我選擇Heroku作為生產環境。 當我嘗試git push heroku master ,出現以下錯誤日志。 關於什么可能導致此的任何想法?

remote: -----> Preparing app for Rails asset pipeline
remote:        Running: rake assets:precompile
remote:        PG::UndefinedTable: ERROR:  relation "steps" does not exist
remote:        LINE 5:                WHERE a.attrelid = '"steps"'::regclass
remote:        ^
remote:        :               SELECT a.attname, format_type(a.atttypid, a.atttypmod),
remote:        pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
remote:        FROM pg_attribute a LEFT JOIN pg_attrdef d
remote:        ON a.attrelid = d.adrelid AND a.attnum = d.adnum
remote:        WHERE a.attrelid = '"steps"'::regclass
remote:        AND a.attnum > 0 AND NOT a.attisdropped
remote:        ORDER BY a.attnum
remote:        rake aborted!

我的遷移文件中確實有一個稱為steps的表,該站點在開發中運行良好。

嘗試運行命令heroku run rake db:migrate然后重新按下並查看是否有效。

如@sheltond所述,Heroku要求您安裝幾個寶石。 如果您還沒有這樣做,請向您的gemfile添加以下內容並運行bundler

group :production do
    gem 'pg'
    gem 'rails_12factor'
end

如果發現您無法在Heroku上運行“ rake”,那么如果正確設置了環境,則應該可以在本地運行它。

通常,在部署以指向已為應用程序配置的postgres數據庫時,Heroku會覆蓋應用程序的數據庫設置。

但是,如果使用“ heroku config”,則可以看到數據庫設置是什么。 如果將它們復制到“生產”配置下的config / database.yml中,則應該能夠運行以下內容:

RAILS_ENV=production rake db:migrate

它應該更新Heroku postgres數據庫。

您需要確保已在本地安裝了postgres數據庫gem才能正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM