gpt4 book ai didi

ruby - 如何将 Datamapper 与 Heroku Scheduler 结合使用?

转载 作者:太空宇宙 更新时间:2023-11-03 16:34:17 26 4
gpt4 key购买 nike

我有一个 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")

是否有我绝对需要的特定要求声明?

最佳答案

首先,您需要将计划进程指向您的数据库,因此包括 Datamapper.setup,但不要迁移或初始化。

然后你需要读取数据库。您可能希望数据映射器创建对象模型,就像您的应用程序使用的那样。我一直在使用 dm-is-reflective为此。

require 'data_mapper'
require 'dm-is-reflective'
dm = DataMapper.setup(:default, ENV['DATABASE_URL'])

class User
include DataMapper::Resource
is :reflective
reflect
end

p User.fields

关于ruby - 如何将 Datamapper 与 Heroku Scheduler 结合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10272533/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com