30 lines
737 B
R
Executable File
30 lines
737 B
R
Executable File
#' 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))
|
|
})
|
|
}
|