moodymudskipper / easydb

DBI and dplyr wrappers to write to DB, fetch and run data manipulation operations on server side.
1 stars 1 forks source link

describe() #3

Open moodymudskipper opened 4 years ago

moodymudskipper commented 4 years ago

quite convenient :

summary.DBIConnection <- function(object, ...){
  cat(crayon::cyan("OBJECT"), "\n",sep="")
  print(object)
  cat("\n", crayon::cyan("TABLES"), "\n",sep="")
  print(DBI::dbListTables(object))
  cat("\n","use `str(object)` for details", "\n", sep="")

  cat("\n", crayon::cyan("DEFAULT summary"), "\n",sep="")
  summary.default(object,...)
}

str.DBIConnection <- function(object, ...){
  cat(crayon::cyan("OBJECT"), "\n",sep="")
  print(object)
  cat("\n", crayon::cyan("TABLES"), "\n",sep="")
  tables <- DBI::dbListTables(object)
  tables <- setNames(tables, tables)
  for(tbl in tables){
    cat("\n", crayon::yellow(tbl), "\n", sep="")
    error <- try(tibble::glimpse(object[[tbl]]),silent = TRUE)
    if(inherits(error,"try-error")) cat(error,"\n")
  }

  cat("\n", crayon::cyan("DEFAULT str"), "\n",sep="")
  invisible(utils:::str.default(object,...))
}
moodymudskipper commented 4 years ago

introduced describe() instead, just for Postgres for now