db_create_new_schema.R 980 B

1234567891011121314151617181920212223242526272829
  1. #' Create the new schema
  2. #'
  3. #' Loome andmebaasi uue schema. Selleks tuleb schema uus nimi lisada conf muutujale. Konfiguratsiooni algväärtused \code{\link[ruut]{get_config}}.
  4. #' @param conf A list() of configuration variables. Default values \code{\link[ruut]{get_config}}.
  5. #' @return New schema created.
  6. #' @seealso [ruut::db_connect()], [ruut::get_config()]
  7. #' @keywords database, schema
  8. #' @export
  9. #' @examples
  10. #' ## Not run:
  11. #' ##
  12. #' ## config <- get_config()
  13. #' ## db_create_new_schema(conf = config)
  14. #' ##
  15. #' ## End(**Not run**)
  16. db_create_new_schema <- function(conf) {
  17. if (!ruut::db_is_shema_exist(conf$schema)) {
  18. conn <- ruut::db_connect()
  19. DBI::dbExecute(conn, sprintf(
  20. "-- DROP SCHEMA x_matsalu;
  21. CREATE SCHEMA %s AUTHORIZATION %s;", conf$schema, conf$user
  22. ))
  23. # Disconnect
  24. lapply(DBI::dbListConnections(RPostgreSQL::PostgreSQL()), DBI::dbDisconnect)
  25. }
  26. }
  27. # conf <- ruut::get_config()
  28. # conf$schema <- "x_valga"
  29. # db_create_new_schema(conf)