## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

## ----setup--------------------------------------------------------------------
library(dbProject)

## -----------------------------------------------------------------------------
# Create project in temp directory
project_dir <- tempfile("dbproject_demo")
db_path <- file.path(project_dir, "demo.duckdb")

proj <- dbProject$new(path = project_dir, dbdir = db_path)
proj

## -----------------------------------------------------------------------------
# Get the connection and add data
con <- proj$get_conn()
mtcars_tbl <- dplyr::copy_to(con, mtcars, "mtcars", temporary = FALSE, overwrite = TRUE)
mtcars_tbl

## -----------------------------------------------------------------------------
proj$pin_write(x = mtcars_tbl, name = "mtcars")
proj

## -----------------------------------------------------------------------------
# Disconnect
proj$disconnect()
proj

# Reconnect
proj$reconnect()
proj

## -----------------------------------------------------------------------------
restored <- proj$pin_read("mtcars")
head(restored, 5)

## -----------------------------------------------------------------------------
proj$disconnect()
unlink(project_dir, recursive = TRUE)

