Creates an immutable frozen release from the current Working DuckLake state.
Strips provenance columns, exports tables to Parquet, creates a catalog,
and uploads to gs://calcofi-db/ducklake/releases/{version}/.
Usage
freeze_release(
con,
version,
release_notes = NULL,
validate = TRUE,
tables = NULL,
dry_run = FALSE,
bucket = "calcofi-db"
)Arguments
- con
DuckDB connection from
get_working_ducklake()- version
Version string in format "vYYYY.MM" (e.g., "v2026.02")
- release_notes
Character string with release notes, or path to markdown file
- validate
Run validation checks before freezing (default: TRUE)
- tables
Character vector of tables to include (default: all non-system tables)
- dry_run
If TRUE, simulate without uploading (default: FALSE)
- bucket
GCS bucket name (default: "calcofi-db")
Value
List with:
version: The version stringgcs_path: GCS path to releasetables: Tibble with table names and row countsparquet_files: Paths to created Parquet files
Examples
if (FALSE) { # \dontrun{
con <- get_working_ducklake()
result <- freeze_release(
con = con,
version = "v2026.02",
release_notes = "First release with bottle and larvae data.")
} # }