Nothing
## ----setup, include = FALSE----------------------------------------------
source("setup/setup.R")
## ------------------------------------------------------------------------
# library(dm)
# parent <- tibble(value = c("A", "B", "C"), pk = 1:3)
# parent
# child <- tibble(value = c("a", "b", "c"), pk = 1:3, fk = c(1, 1, NA))
# child
# demo_dm <-
# dm(parent = parent, child = child) %>%
# dm_add_pk(parent, pk) %>%
# dm_add_pk(child, pk) %>%
# dm_add_fk(child, fk, parent)
#
# demo_dm %>%
# dm_draw(view_type = "all")
## ------------------------------------------------------------------------
# dm_examine_constraints(demo_dm)
## ------------------------------------------------------------------------
# library(DBI)
# sqlite_db <- DBI::dbConnect(RSQLite::SQLite())
# demo_sql <- copy_dm_to(sqlite_db, demo_dm, temporary = FALSE)
# demo_sql
## ------------------------------------------------------------------------
# new_parent <- tibble(value = "D", pk = 4)
# new_parent
# new_child <- tibble(value = "d", pk = 4, fk = 4)
# new_child
# dm_insert_in <-
# dm(parent = new_parent, child = new_child) %>%
# copy_dm_to(sqlite_db, ., temporary = TRUE)
## ------------------------------------------------------------------------
# dm_insert_out <-
# demo_sql %>%
# dm_rows_insert(dm_insert_in)
## ------------------------------------------------------------------------
# dm_insert_out$child
# demo_sql$child
## ------------------------------------------------------------------------
# dm_insert_out <-
# demo_sql %>%
# dm_rows_insert(dm_insert_in, in_place = TRUE)
#
# demo_sql$child
## ------------------------------------------------------------------------
# updated_child <- tibble(value = "b", pk = 2, fk = 2)
# updated_child
# dm_update_in <-
# dm(child = updated_child) %>%
# copy_dm_to(sqlite_db, ., temporary = TRUE)
#
# dm_update_out <-
# demo_sql %>%
# dm_rows_update(dm_update_in, in_place = TRUE)
#
# demo_sql$child
## ------------------------------------------------------------------------
# local_dm <- collect(demo_sql)
#
# local_dm$parent
# local_dm$child
# dm_deleted <-
# dm(parent = new_parent, child = new_child) %>%
# dm_rows_delete(local_dm, .)
#
# dm_deleted$child
## ------------------------------------------------------------------------
# patched_child <- tibble(value = "c", pk = 3, fk = 3)
# patched_child
# dm_patched <-
# dm(child = patched_child) %>%
# dm_rows_patch(dm_deleted, .)
#
# dm_patched$child
## ------------------------------------------------------------------------
# upserted_parent <- tibble(value = "D", pk = 4)
# upserted_parent
# upserted_child <- tibble(value = c("b", "d"), pk = c(2, 4), fk = c(3, 4))
# upserted_child
# dm_upserted <-
# dm(parent = upserted_parent, child = upserted_child) %>%
# dm_rows_upsert(dm_patched, .)
#
# dm_upserted$parent
# dm_upserted$child
## ----disconnect----------------------------------------------------------
# DBI::dbDisconnect(sqlite_db)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.