Files
RProjects/R/common/db_client.R
T
2026-06-08 16:16:27 +02:00

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))
})
}