Sha256: cc58c917dacb7ff46ec4b4b6203e21b659999406f38de3f3feb3970a7d8061f9

Contents?: true

Size: 886 Bytes

Versions: 2

Compression:

Stored size: 886 Bytes

Contents

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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
restpack_gem-0.0.18 lib/restpack_gem/tasks/db.rake
restpack_gem-0.0.17 lib/restpack_gem/tasks/db.rake