Sha256: 9a9fe2e50f3819858d23616378ccb76cf83719e1ccfd89fb565a3b580dc5e2ce

Contents?: true

Size: 1.08 KB

Versions: 15

Compression:

Stored size: 1.08 KB

Contents

# frozen_string_literal: true

require "benchmark"

namespace :db do
  desc "Check that we are not about to drop an anonymised database"
  task drop_check: :environment do
    db_name = "rw_anon"
    if Rails.configuration.database_configuration[Rails.env]["database"] == db_name
      raise ActiveRecord::ProtectedEnvironmentError, "Cannot drop #{db_name}"
    end
  end

  desc "Refreshes all materialized views e.g. audits. May take a while so only run overnight."
  task refresh_all_materialized_views: :environment do
    ms = Benchmark.ms do
      ActiveRecord::Base.connection.execute("SELECT refresh_all_matierialized_views();")
    end
    puts "Refreshing materialized views took #{ms}"
  end

  namespace :demo do
    desc "Loads demo seed data from the renalware-core gem"
    task seed: :environment do
      if Rails.env.development? || ENV["ALLOW_DEMO_SEEDS"] == "1"
        require Renalware::Engine.root.join("spec/dummy/db/seeds")
      else
        puts "Task currently only possible in development environment"
      end
    end
  end
end
task("db:drop").enhance ["db:drop_check"]

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
renalware-core-2.1.1 lib/tasks/db.rake
renalware-core-2.1.0 lib/tasks/db.rake
renalware-core-2.0.167 lib/tasks/db.rake
renalware-core-2.0.166 lib/tasks/db.rake
renalware-core-2.0.165 lib/tasks/db.rake
renalware-core-2.0.164 lib/tasks/db.rake
renalware-core-2.0.163 lib/tasks/db.rake
renalware-core-2.0.162 lib/tasks/db.rake
renalware-core-2.0.161 lib/tasks/db.rake
renalware-core-2.0.160 lib/tasks/db.rake
renalware-core-2.0.159 lib/tasks/db.rake
renalware-core-2.0.158 lib/tasks/db.rake
renalware-core-2.0.157 lib/tasks/db.rake
renalware-core-2.0.156 lib/tasks/db.rake
renalware-core-2.0.155 lib/tasks/db.rake