Sha256: f149307288f43e4dd38f3e7d6e9c3a5b0ae95ba14d9e1bce839a3fdb3b81db90
Contents?: true
Size: 1.56 KB
Versions: 5
Compression:
Stored size: 1.56 KB
Contents
# Add your own tasks in files placed in lib/tasks ending in .rake, # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. require File.expand_path('../config/application', __FILE__) require 'rake' Example30::Application.load_tasks require 'fileutils' include FileUtils::Verbose namespace :db do task :migrate do require 'erb' require 'logger' require 'active_record' reference = YAML::load(ERB.new(IO.read("config/database.yml")).result) env = RAILS_ENV = ENV['RAILS_ENV'] || 'development' DataFabric.logger = ActiveRecord::Base.logger = Logger.new(STDOUT) ActiveRecord::Base.logger.level = Logger::INFO ActiveRecord::Base.configurations = reference.dup old_config = reference[env] reference.each_key do |name| next unless name.include? env next if name.include? 'slave' # Replicated databases should not be touched directly puts "Migrating #{name}" ActiveRecord::Base.clear_active_connections! ActiveRecord::Base.configurations[env] = reference[name] ActiveRecord::Base.establish_connection RAILS_ENV ActiveRecord::Migration.verbose = ENV["VERBOSE"] ? ENV["VERBOSE"] == "true" : true ActiveRecord::Migrator.migrate("db/migrate/", ENV["VERSION"] ? ENV["VERSION"].to_i : nil) end end end task :default => [:test] namespace :app do task :prepare => [:clean, :migrate] task :clean do rm_rf 'log' rm_rf Dir['db/*.sqlite3'] rm_f 'db/schema.rb' end task :migrate do puts `rake db:migrate` puts `rake RAILS_ENV=test db:migrate` end end
Version data entries
5 entries across 5 versions & 2 rubygems