というタスクがある rakefile.rb がありますadd_latest_apps
。このタスクは、datamapper を使用して作成されていない場合にデータベースにいくつかのテーブルを作成し、xml フィードからいくつかの情報をスクレイピングしてから、データをテーブルに配置します。問題は、rake タスクを実行できないように見えることです。
次のコマンドを使用すると、次のようheroku run rake add_latest_apps
になります。rake aborted! no such file to load -- dm-sqlite-adapter
これは、postgres アダプターを使用する必要があるにもかかわらず、sqlite アダプターを使用しようとしていることを示唆しています。私は何を間違っていますか?
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
Gemfile:
source :rubygems
gem 'sinatra', '1.1.0'
gem 'thin'
gem 'nokogiri'
gem 'awesome_print'
gem 'data_mapper'
gem 'dm-postgres-adapter'
gem 'pg'
助けてください!