我有一个 rakefile.rb ,其中有一个名为add_latest_apps
. 如果这些表不是使用 datamapper 创建的,则此任务会在数据库中创建一些表,从 xml 提要中抓取一些信息,然后将数据放入表中。问题是我似乎无法让我的 rake 任务运行。
如果我使用以下命令heroku run rake add_latest_apps
,那么我得到:rake aborted! no such file to load -- dm-sqlite-adapter
这向我表明正在尝试使用 sqlite 适配器,即使它应该使用 postgres 适配器。我究竟做错了什么?
rakefile.rb:
require 'open-uri'
require 'nokogiri'
require 'awesome_print'
require 'data_mapper'
require 'dm-postgres-adapter'
require 'pg'
task :add_latest_apps do
DataMapper.setup(:default, ENV['DATABASE_URL'] || "sqlite3://#{Dir.pwd}/app.db")
class Company
include DataMapper::Resource
property :id, Serial
property :company_name, String
property :company_id, Text, :unique => true
has n, :apps
end
class App
include DataMapper::Resource
property :id, Serial
property :app_id, Integer
property :bundle_id, Text
property :app_name, Text
property :company_name, Text
property :created_at, DateTime
property :rank, Integer
belongs_to :company
end
DataMapper.finalize.auto_upgrade!
puts 'Database and tables created'
#Get App data from Apple
#Insert apps and companies into database
end
宝石文件:
source :rubygems
gem 'sinatra', '1.1.0'
gem 'thin'
gem 'nokogiri'
gem 'awesome_print'
gem 'data_mapper'
gem 'dm-postgres-adapter'
gem 'pg'
请帮忙!