【发布时间】:2012-04-22 22:06:40
【问题描述】:
我有一个 Postgres 数据库,我在我的 ruby Web 服务器上使用 Datamapper 进行操作。我正在尝试将 Heroku Scheduler 合并为每 10 分钟更新一次数据库的一部分。但是,当它尝试执行脚本时,它不断给出这个错误:
/app/vendor/bundle/ruby/1.9.1/gems/dm-core-1.2.0/lib/dm-core/repository.rb:72:in `adapter': Adapter not set: default. Did you forget to setup? (DataMapper::RepositoryNotSetupError)
数据库是在服务器启动时初始化的,为什么这个脚本不能像我在其余代码中通常所做的那样更新数据库。
例如,调度程序调用的脚本将包含以下行:
User.update(:user_x => "whatever")
我绝对需要某个 require 语句吗?
【问题讨论】:
-
我相信调度程序与您的应用程序是分开运行的,因此无论您在主应用程序文件中有什么设置连接,您都应该从调度的脚本中调用。
-
没错。它将启动一个新的测功机,执行您指定的命令。
标签: ruby heroku sinatra datamapper