Sha256: b8f9338fdaa8ae4a29235090fa48695a097f34ca403e9c9b4930ba9011fec151

Contents?: true

Size: 1.25 KB

Versions: 1

Compression:

Stored size: 1.25 KB

Contents

namespace :documentation do

  desc "Load a set of initial guides"
  task :install_guides => :environment do
    require File.expand_path('../../../db/seeds', __FILE__)
  end


  namespace :db do
    desc 'Migrates the documentation database'
    task :migrate => :environment do
      p "documentation db migrate"
      with_engine_connection do
        ActiveRecord::Migrator.migrate("#{File.dirname(__FILE__)}/../../db/migrate", ENV['VERSION'].try(:to_i))
      end
      Rake::Task['documentation:db:schema:dump'].invoke
    end

    task :'schema:dump' => :environment do
      require 'active_record/schema_dumper'

      with_engine_connection do
        File.open(Rails.root.join('db', 'documentation_schema.rb'), 'w') do |file|
          ActiveRecord::SchemaDumper.dump ActiveRecord::Base.connection, file
        end
      end
    end

    task :'schema:load' => :environment do
      with_engine_connection do
        load Rails.root.join('db', 'documentation_schema.rb')
      end
    end
  end
end

# Hack to temporarily connect AR::Base to documentation.
def with_engine_connection
  original = ActiveRecord::Base.remove_connection
  ActiveRecord::Base.establish_connection "documentation".to_sym
  yield
ensure
  ActiveRecord::Base.establish_connection original
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
local_documentation-1.0.0 lib/tasks/documentation.rake