我正在部署一个使用Monologue Framework构建的简单CMS系统。我已经安装了引擎,并通过自己的自定义控制器和模型添加,例如页面和模板。
每当我将应用程序部署到Heroku(或在本地编译资产)时,它都会失败并给我这个错误:
I, [2016-05-13T23:45:15.189577 #31757] INFO -- : Writing /home/ubuntu/workspace/public/assets/monologue/bootstrap/bootstrap-datepicker-b6d82843a72ae20b71775b201958ed7dc6bc437a71c554b94c20805cea49b2ad.css.gz
rake aborted!
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: relation "pages" does not exist
LINE 5: WHERE a.attrelid = '"pages"'::regclass
^
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"pages"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
我对application.rb或production.rb文件中的Assets没有特殊设置。我已经声明了一些资产要在assets.rb中进行预编译,但删除这些资产并不会改变任何内容。
有一次,我确实使用了ActiveRecord页面缓存,但我不再需要它,并且由于与Page模型的冲突,我删除了它。
我还创建了一个新的rails应用程序并将其部署到heroku,并安装了Monologue引擎。该应用程序将预编译所有资产并部署,没有任何问题。
如果需要更多文件或详细信息,请告知我们,我会在此处添加。
提前致谢!
答案 0 :(得分:0)
我遇到的问题是,在其中一个资产(admin.js.erb)中,该文件在<%= @page.each do |page| %>
上调用,但未创建或迁移数据库。一旦Heroku完成编译资产,我就加入资产,并重新部署。