Mise en place projet R
This commit is contained in:
Executable
+29
@@ -0,0 +1,29 @@
|
||||
#' Client base de données Postgres (réutilisable)
|
||||
suppressPackageStartupMessages({
|
||||
library(DBI)
|
||||
library(RPostgres)
|
||||
library(config)
|
||||
})
|
||||
|
||||
db_connect <- function() {
|
||||
cfg <- config::get('database')
|
||||
DBI::dbConnect(
|
||||
RPostgres::Postgres(),
|
||||
dbname = cfg$dbname,
|
||||
host = cfg$host,
|
||||
port = cfg$port,
|
||||
user = cfg$user,
|
||||
password = cfg$password
|
||||
)
|
||||
}
|
||||
|
||||
insert_results <- function(df, table = 'results_table') {
|
||||
conn <- db_connect()
|
||||
on.exit(DBI::dbDisconnect(conn), add = TRUE)
|
||||
tryCatch({
|
||||
DBI::dbWriteTable(conn, table, df, append = TRUE, row.names = FALSE)
|
||||
list(success = TRUE, code = 0)
|
||||
}, error = function(e) {
|
||||
list(success = FALSE, code = 500, message = conditionMessage(e))
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user