Sha256: 70fc4bcfd18a2c00299671ee8bdaf90badf3923cf02476949ee73b823bb29790

Contents?: true

Size: 821 Bytes

Versions: 3

Compression:

Stored size: 821 Bytes

Contents

Rake::Task['db:structure:dump'].enhance do
  if ActiveRecord::Base.connection.table_exists?('active_record_views')
    filename = ENV['DB_STRUCTURE'] || File.join(Rails.root, "db", "structure.sql")

    if defined? ActiveRecord::Tasks::DatabaseTasks
      tasks = ActiveRecord::Tasks::DatabaseTasks
      config = tasks.current_config
      tasks.send(:class_for_adapter, config.fetch('adapter')).new(config)
      pg_tasks = tasks.send(:class_for_adapter, config.fetch('adapter')).new(config)
      pg_tasks.send(:set_psql_env)
    else
      config = current_config
      set_psql_env(config)
    end

    system("pg_dump --data-only --table=active_record_views #{Shellwords.escape config['database']} >> #{Shellwords.escape filename}")
    raise 'active_record_views metadata dump failed' unless $?.success?
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
activerecord_views-0.0.14 lib/tasks/active_record_views.rake
activerecord_views-0.0.13 lib/tasks/active_record_views.rake
activerecord_views-0.0.12 lib/tasks/active_record_views.rake