db_connect.R 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #' Connect to database
  2. #'
  3. #' Andmebaasiga ühenduse looomine.
  4. #' @param conf A list() of configuration variables. Default values \code{\link[ruut]{get_config}}.
  5. #' #' @return Connection to the database.
  6. #' @keywords database, schema
  7. #' @export
  8. #' @examples
  9. #' \dontrun{
  10. #'
  11. #' config <- get_config()
  12. #' conn <- db_connect(conf = config)
  13. #'
  14. #' }
  15. db_connect <- function(conf = NULL) {
  16. if (is.null(conf)) {
  17. config <- ruut::get_config()
  18. } else {
  19. config <- conf
  20. }
  21. # DBI::dbDisconnect(conn)
  22. if (all(c("dbname", "host", "port", "user", "password") %in% names(config))) {
  23. try(conn <- DBI::dbConnect(RPostgreSQL::PostgreSQL(),
  24. dbname = config$dbname, host = config$host,
  25. user = config$user, password = config$password,
  26. port = config$port
  27. ))
  28. } else {
  29. conn <- NULL
  30. print("Andmebaasiga \U00FChendamise parameetrid puudulikud. Palun kontrolli konfiguratsiooni faili.")
  31. return()
  32. }
  33. # ## Andmebaasiga ühenduse kontroll
  34. # if (exists("conn") && !inherits(conn, "try-error")) {
  35. # print("Connection exist")
  36. # } else {
  37. # print("Connection error")
  38. # }
  39. return(conn)
  40. }
  41. # dbDisconnect(conn)