Skip to content

Instantly share code, notes, and snippets.

@annemarie35
Created June 26, 2015 08:58
Show Gist options
  • Save annemarie35/6d1badc2b3dd42685490 to your computer and use it in GitHub Desktop.
Save annemarie35/6d1badc2b3dd42685490 to your computer and use it in GitHub Desktop.
Rakefile.rb
require 'sinatra/activerecord'
require 'sinatra/activerecord/rake'
require 'dotenv'
Dotenv.load
Dir.glob('lib/tasks/*.rake').each { |r| load r}
#Now any .rake file under lib/tasks will be loaded.
include ActiveRecord::Tasks
class Seeder
def initialize(seed_file)
@seed_file = seed_file
end
def load_seed
raise "Seed file '#{@seed_file}' does not exist" unless File.file?(@seed_file)
load @seed_file
end
end
root = File.expand_path '..', __FILE__
DatabaseTasks.env = ENV['RACK_ENV'] || 'development'
DatabaseTasks.database_configuration = YAML.load(File.read(File.join(root, 'config/database.yml')))
DatabaseTasks.db_dir = File.join root, 'db'
DatabaseTasks.fixtures_path = File.join root, 'test/fixtures'
DatabaseTasks.migrations_paths = [File.join(root, 'db/migrate')]
DatabaseTasks.seed_loader = Seeder.new File.join root, 'db/seeds.rb'
DatabaseTasks.root = root
task :environment do
ActiveRecord::Base.configurations = DatabaseTasks.database_configuration
ActiveRecord::Base.establish_connection DatabaseTasks.env.to_sym
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment