Sha256: 8e0de83d6540c6a07b09a8698b4b9c38de2b0ec9ebd1fbfdb1fe276562d9db12

Contents?: true

Size: 1.24 KB

Versions: 1

Compression:

Stored size: 1.24 KB

Contents

#!/usr/bin/env ruby
# frozen_string_literal: true

lib = File.expand_path('../lib', __dir__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)

require 'table_saw'
require 'table_saw/create_dump_file'
require 'table_saw/version'
require 'thor'

class CLI < Thor
  def self.exit_on_failure?
    true
  end

  desc 'dump', 'Create a postgres dump file'
  method_option :url, aliases: '-u', default: ENV['DATABASE_URL'],
                      desc: 'This option overrides all other connection properties.'
  method_option :dbname, aliases: '-d', default: ENV['PGDATABASE']
  method_option :host, aliases: '-h', default: ENV['PGHOST']
  method_option :port, aliases: '-p', default: ENV['PGPORT']
  method_option :user, aliases: '-U', default: ENV['PGUSER']
  method_option :password, default: ENV['PGPASSWORD']
  method_option :manifest, aliases: '-m', required: true
  method_option :output, aliases: '-o', default: 'output.dump'
  method_option :pool
  def dump
    TableSaw.configure(options.to_hash)
    records = TableSaw::DependencyGraph::Build.new(TableSaw::Manifest.instance).call
    TableSaw::CreateDumpFile.new(records, options[:output]).call
  end

  desc 'version', 'Print version of table-saw'
  def version
    puts TableSaw::VERSION
  end
end

CLI.start

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
table_saw-1.2.0 exe/table-saw