好的,所以我在使用rails第4版(rails 3.2+)进行敏捷Web开发,我在第16章,涉及部署。我大部分时间都在跟进,但鉴于我想使用heroku,我决定继续尝试将我的应用程序部署到heroku。遵循这些说明:https://devcenter.heroku.com/articles/rails3我开始部署heroku。但是,当我去访问应用程序时:
heroku open
我遇到了这个错误:
We're sorry, but something went wrong.
跑完后:
heroku logs
我意识到这是导致问题的错误:
2012-07-25T19:41:16+00:00 app[web.1]: ActiveRecord::StatementInvalid (PG::Error: ERROR: relation "carts" does not exist
2012-07-25T19:41:16+00:00 app[web.1]: WHERE a.attrelid = '"carts"'::regclass
2012-07-25T19:41:16+00:00 app[web.1]: FROM pg_attribute a LEFT JOIN pg_attrdef d
2012-07-25T19:41:16+00:00 app[web.1]: : SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
2012-07-25T19:41:16+00:00 app[web.1]: AND a.attnum > 0 AND NOT a.attisdropped
2012-07-25T19:41:16+00:00 app[web.1]: ORDER BY a.attnum
2012-07-25T19:41:16+00:00 app[web.1]: ):
现在,在遵循heroku指令的同时,我只在gemfile中修改了两件事。首先我改变了:
gem 'sqlite3'
为:
gem 'pg'
我还补充说:
ruby '1.9.3'
位于文件顶部。但是,由于错误位于“PG”,我认为错误出现了b / c我将'sqlite3'宝石改为'pg'。我用sqlite3开发了应用程序,所以我认为这是导致错误的原因。试图验证这一点,我将'pg'改回'sqlite3'并运行“bundle install”。但是,在这样做时,我收到了这个错误:
Gemfile syntax error:
gem 'sass-rails', '~> 3.2.3'
如果我改回'pg',这个错误就会消失。拜托,有人在这里帮助新手。为什么当我将我的应用程序部署到heroku时它不起作用,我在'heroku日志中找到的错误的含义是什么。任何和所有输入都表示赞赏。
答案 0 :(得分:1)
你跑吗
heroku run rake db:migrate
因为否则您的数据库将没有表,因此不会有关联。