ruby Rake任务:验证数据库中的所有对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby Rake任务:验证数据库中的所有对象相关的知识,希望对你有一定的参考价值。

namespace :test_db do
  task validate_all_objects: :environment do
    Dir[Rails.root.to_s + '/app/models/**/*.rb'].each do |file|
      begin
        require file
      rescue
      end
    end

    ActiveRecord::Base.descendants.each do |model|
      print model
      print "\n"

      begin
        array = model.try(:all)
        array.each do |object|
          unless object.valid?
            print object.id
            print ' : '
            print object.errors.to_json
            print "\n"
          end
        end
      rescue
      end

      print "\n"
    end
  end
end

以上是关于ruby Rake任务:验证数据库中的所有对象的主要内容,如果未能解决你的问题,请参考以下文章

ruby 用于将多个模型并置为单个索引中的类型的Rake任务。

ruby 根据`lib / tasks`目录中的目录结构自动在命名空间内加载rake任务。

ruby fakeout.rake - 一个简单/可配置的rake任务,为应用程序(使用faker)生成各种大小的随机假数据

如何在 Ruby 脚本中运行 Rake 任务?

Rails Guide -- Ruby on Rake

ruby 修复了rake资产:预编译任务