require “yaml”

namespace :db do

namespace :truncate do

  desc "Truncate Table"

  task :table, [:table_name, :restart_keys, :cascade] => [:environment] do |t, params|

    active_record = ActiveRecord::Base

    db_config = YAML::load_file('config/database.yml')
    namespace = ENV['NAMESPACE']

    env = Rails.env

    connection_config = (namespace ? db_config[namespace][env] : db_config[env]).clone
    database = db_config[namespace][env]["database"]
    active_record.establish_connection connection_config
    connection = active_record.connection

    table_name = params[:table_name].strip
    begin
      connection.truncate table_name, restart_keys: params[:restart_keys], cascade: params[:cascade]
    rescue => e
      $stderr.puts e
    else
      $stderr.puts "Table \"#{table_name}\" has been truncated."
    end

  end

end

end