我有一個一次性腳本,用於將一些數據加載到我的應用程序的數據庫中。在Heroku上運行的Ruby腳本的「未知屬性」
這是一種大十歲上下,所以我在這裏gist'd它:https://gist.github.com/097fb5a30ce84522077a
代碼爲完美針對本地Postgres的情況下我的本地機器上執行時書面作品(甚至遠程實例),由DATABASE_URL環境變量指定。
但是,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從服務器(
curl http://blah.com/profiles.ini > profiles.ini
) - 運行腳本(
ruby importprofiles.rb
)
爲什麼我拉下我的生產profiles.ini在Heroku上爲本地工作的代碼獲取未知屬性錯誤?
剛剛更新了schema.rb的要點。我只有兩個遷移設置,他們都成功運行,我的本地數據庫也是PostgreSQL。 如果這一切都很有幫助,我已經得到完整的代碼在http://github.com/Karunamon/rbreibot –