Releases: cynkra/dm
Releases · cynkra/dm
dm 0.2.0
Breaking changes
- Deprecate
dm_get_src()
tbl.dm()
,src_tbls.dm()
,copy_to.dm()
. These functions have better alternatives and use the notion of a "data source" which is being phased out of dplyr (#527). *_pk()
and*_fk()
functions gain an ellipsis argument that comes beforecheck
,force
andrm_referencing_fks
arguments (#520).
Features
dm_add_pk()
anddm_add_fk()
support compound keys via thec()
notation, e.g.dm_add_pk(dm, table, c(col1, col2))
.dm_nycflights13()
returns a data model with compound keys by default. Usecompound = FALSE
to return the data model from dm v0.1.13 or earlier (#3).dm_get_all_fks()
includesparent_pk_cols
column that describes the primary key columns of the parent table (#335).dm_from_src()
supports theschema
argument also for MariaDB and MySQL databases (#516).- dm objects now inherit from
"dm_v1"
in addition to"dm"
, to allow backward-compatible changes of the internal format (#521). - Use hack to create compound primary keys on the database (#522).
dm_examine_constraints()
and other check functions count the number of rows that violate constraints for primary and foreign keys (#335).copy_dm_to(set_key_constraints = FALSE)
downgrades unique indexes to regular indexes (#335).rows_truncate()
implemented for data frames (#335).dm_enum_fk_candidates()
enumerates column in the order they apper in the table (#335).
dm 0.1.13
Features
dm_draw()
gainscolumn_types
argument, ifTRUE
the column type is shown for each displayed column (#444, @samssann).copy_dm_to()
gainsschema
argument (#432).dm_from_src()
gainsdbname
argument for MSSQL (#472).
Bug fixes
Performance
enum_fk_candidates()
now only checks distinct values, this improves performance for large tables. As a consequence, only the number of distinct values is reported for mismatches, not the number of mismatching rows/entries (#494).
Documentation
- Fix description of filtering behavior in
?dm_zoom_to
(#403).
Internal
- Move repository to https://github.com/cynkra/dm (#500).
- Enable more Postgres tests (#497).
- Test DuckDB on GitHub Actions (#498).
dm 0.1.12
dm 0.1.10
dm 0.1.9
- New
vignette("howto-dm-copy", package = "dm")
andvignette("howto-dm-rows", package = "dm")
discuss updating data on the database. In part derived fromvignette("howto-dm-db", package = "dm")
(#411, @jawond). - New
dm_mutate_tbl()
(#448). dm_financial()
falls back to db-edu.pacha.dev if relational.fit.cvut.cz is unavailable (#446, @pachamaltese).- Use testthat 3e (#455).
dm 0.1.7
dm 0.1.6
Breaking changes
dm_get_src()
returnsNULL
for local data sources (#394).- Local target in
copy_dm_to()
gives a deprecation message (#395).
Features
copy_dm_to()
gives a better error message for badtable_names
(#397).dm
objects with local data sources no longer show the "Table source" part in the output.- Error messages now refer to "tables", not "elements" (#413).
- New
dm_bind()
for binding two or more 'dm' objects together (#417).
Bug fixes
- For databases, the underlying SQL table names are quoted early to avoid later SQL syntax errors (#419).
dm_financial()
no longer prints message aboutlearn_keys = FALSE
.dm_rows_update()
and related functions now use the primary keys defined inx
for establishing matching rows.
Internal
dm 0.1.5
Features
dm_paste()
generates self-contained code (#401).- Errors regarding cycles in the relationship graph now show the shortest cycle (#405).
- Implement
rows_truncate()
for databases. collect()
works on a zoomed dm, with a message.- The data model is drawn in a more compact way if it comprises of multiple connected components.
dm_add_pk(check = TRUE)
gives a better error message.
Bug fixes
rows_insert()
works if column names consist of SQL keywords (#409).- Cycles in other connected components don't affect filtering in a cycle-free component.
- Avoid
src_sqlite()
in examples (#372).
Internal
dm 0.1.4
Features
-
New
dm_rows_insert()
,dm_rows_update()
,dm_rows_patch()
,dm_rows_upsert()
,dm_rows_delete()
anddm_rows_truncate()
, calling the correspondingrows_*()
method for every table (#319). -
New
rows_truncate()
(#319). -
Added
rows_insert()
androws_update()
methods for SQLite, Postgres, MariaDB and MSSQL (#319). -
Missing arguments now give a better error message (#388).
-
Empty
dm
object prints asdm()
(#386). -
copy_dm_to()
also accepts a function as thetable_names
argument. Theunique_table_names()
argument is deprecated (#80).