我正在使用 rakefile 从一个网站获取信息并将其保存到我的数据库中。
使用 TMDB-Gem,此代码浏览@movie = TmdbMovie.browse(:order_by => "release", :order => "asc", :page => 1, :per_page => 2, :language => "en", :expand_results => true)
最旧的电影(:order_by => "release"
每部电影都有一个tmdb_id
,每一个id
都是独一无二的
如何让 rakefile 检查返回的电影的 tmdb_id 是否唯一,如果已经有具有该 ID 的电影,则跳过并保存下一部电影。
我在我的电影模型中尝试过,validates_uniqueness_of :tmdb_id
但是在运行 rake 命令时它会出错并且它不保存电影。
基本上,我怎样才能通过 rakefile 验证 tmdb_id 的唯一性
这是我的 rake 文件
namespace :db do
task :pull_tmdb_data => :environment do
Tmdb.api_key = "API KEY"
Tmdb.default_language = "en"
@movie = TmdbMovie.browse(:order_by => "release", :order => "asc", :page => 1, :per_page => 2, :language => "en", :expand_results => true)
@movie.each do |movie|
Movie.create(title: movie.name, description: movie.overview, release_date: movie.released, tmdb_id: movie.id)
end
end
end