Boilerplate for a dbcooper DB package using the Lahman SQLite database.
To install this package, you will first have to install dbcooper
, which is not yet on CRAN:
devtools::install_github("pipeline-tools/dbcooper")
Once you have installed dbcooper
, you can install lahmancooper
:
devtools::install_github("pipeline-tools/lahmancooper")
When loaded, this package creates accessor functions to the Lahman SQLite database, by utilizing the dbcooper
function dbc_init
.
Here is a short example of using the resulting accessor function, as well as a use-case-specific summarize_salaries
function (also in this package), that illustrates how you utilize your existing dplyr
knowledge to immediately work with your DB data.
library(lahmancooper)
library(dplyr)
lahman_salaries() %>%
group_by(year = year_id) %>%
summarize_salaries() %>%
arrange(desc(year))
The development process for a dbcooper
-generated package is similar to other packages.
You will often find yourself creating or updating some function, followed by running the common...
devtools::document()
devtools::load_all(export_all = False)
...and then continuing to develop your package.
The one thing that may feel different is, when first starting with a dbcooper
-generated package, you'll have to create your .onLoad
function in R/zzz.R
, which might involve some rounds of iteration for successfully connecting to your databse and generating the accessor functions using dbc_init
(or updated the table_formatter
or table_post
arguments).
When developing the .onLoad
function, you'll have to restart R and reload your package (devtools::load_all(export_all = False)
) to check changes to your .onLoad
function.
Aside from the .onLoad
development, developing a dbcooper
-generated package is just like developing any other R package!