我有一个一次性脚本,用于将一些数据加载到我的应用程序的数据库中。
这有点大,所以我在这里给出了要点: https ://gist.github.com/097fb5a30ce84522077a
当针对 DATABASE_URL 环境变量指定的本地机器(甚至远程实例)上的本地 Postgres 实例执行时,编写的代码可以完美运行。
但是,它绝对不适用于 Heroku。执行链接的 ruby 脚本给了我这个错误:
~ $ ruby importprofiles.rb
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/attribute_assignment.rb:88:in `block in assign_attributes': unknown attribute: owner_id
(ActiveRecord::UnknownAttributeError)
我的工作流程基本上是:
- 在 Heroku (
heroku create mybot
)上创建应用程序 - 上推代码 (
git commit -m 'initial commit' && git push heroku master
) - 设置数据库 (
heroku run rake db:setup
) - 重启实例 (
heroku restart
) - 在 heroku 实例上调用 Bash shell (
heroku run bash
) - 使用 Curl 从服务器上拉下我的生产 profile.ini (
curl http://blah.com/profiles.ini > profiles.ini
) - 运行脚本 (
ruby importprofiles.rb
)
为什么我在 Heroku 上收到在本地工作的代码的未知属性错误?