require “active_support/inflector”
def database_name
Dir.pwd.split('/').last + "_test"
end
namespace :db do
desc "Creates the [#{database_name}] database" task :create do puts "creating `#{database_name}`..." exec "createdb #{database_name}" end desc "Creates a new migration" task :new_migration, :name do |t, args| name = args[:name] || ENV['name'] unless name puts "Error: must provide name of migration to generate." puts "For example: rake #{t.name} name=migration_name" abort end create_migration(name) end
end
def create_migration(name)
FileUtils.mkdir_p 'db/migrate' prefix = Time.now.strftime("%Y%m%d%H%M%S") path = "db/migrate/#{prefix}_#{name}.rb" File.open(path, "w") do |f| f.write(
%{class #{name.camelize} < ActiveRecord::Migration
def change end
end})
puts "Created #{path}" end
end