Sha256: 8bf242caf6379f92777da9d92cd886fb1604dc756597837b9e765d9aed1b76bd

Contents?: true

Size: 819 Bytes

Versions: 2

Compression:

Stored size: 819 Bytes

Contents

# NB need to specify a username in the database.yml if you want to use any of these commands
module HerokuRails
  class DbConfiguration
    def config
      db_config_from_file = ERB.new(File.read("config/database.yml")).result
      @config ||= YAML.safe_load(db_config_from_file, [], [], true)
    end

    def generate_drop_tables_sql
      sql = %(select 'DROP TABLE IF EXISTS \\"' || tablename || '\\" CASCADE;' from pg_tables where schemaname = 'public')
      %(psql #{user_arg} #{database} -t -c "#{sql}")
    end

    def user_arg
      username = db_config["username"]
      username.present? && "-U #{username}" || ""
    end

    def database
      db_config["database"]
    end

    private

    def db_config
      config[env]
    end

    def env
      ENV["RAILS_ENV"] || "development"
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
heroku_rails-0.1.2 lib/heroku_rails/db_configuration.rb
heroku_rails-0.1.1 lib/heroku_rails/db_configuration.rb