Recent Releases of dm
dm - dm 1.0.12
Bug fixes
Improve detection of foreign-key relationships in Postgres (#1879, #2286).
Avoid including constraints from a different
constraint_schemawhen learning from a database (#2228, #2275).
Features
- Add support for Redshift connections (@owenjonesuob, #2215).
Chore
Remove fansi.
Suggest package used in demo.
Bump RMariaDB version (#2244).
Drop crayon and mockr dependencies (@olivroy, #2220).
Documentation
Add cynkra ROR (#2282).
Fix intended links (@guspan-tanadi, #2278).
Restore empty space removed by styler (#2269).
Use
index.md.Tweak formatting (@salim-b, #2232).
Fix typo (@salim-b, #2218).
Testing
Stabilize learning tests (#2291).
Fix compatibility with waldo >= 0.6.0 (#2240).
- R
Published by github-actions[bot] 8 months ago
dm - dm 1.0.11
Features
- Add support for Redshift connections (@owenjonesuob, #2215).
Chore
- Drop crayon and mockr dependencies (@olivroy, #2220).
Documentation
Use
index.md.Tweak formatting (@salim-b, #2232).
Fix typo (@salim-b, #2218).
Testing
- Fix compatibility with waldo >= 0.6.0 (#2240).
- R
Published by github-actions[bot] about 1 year ago
dm - dm 1.0.8
dm 1.0.8
Bug fixes
copy_dm_to()creates string columns of necessary lengths for MariaDB and SQL Server. This worked before for SQL Server in dm 1.0.5, now also works on MariaDB (#311, #2066, #2082).
Features
Explicitly fail on
compute(temporary = TRUE), which never worked correctly (#2059, #2103).Warn about DuckDB not supporting autoincrementing primary keys (#2099).
Chore
- Make
check_suggested()a standalone (#2054).
Documentation
Tweak vignette for
compute(temporary = TRUE).Update documentation of
check_suggested()(@olivroy, #2055).
Performance
- Speed up
dm(),new_dm(),as_dm()anddm_validate().dm()andas_dm()no longer calldm_validate()(#2108).
Testing
Add test for
copy_dm_to(table_names = )(#250, #2101).Work around test failures for dbplyr 2.4.0.
Remove most skips from tests (#2052).
- R
Published by github-actions[bot] over 2 years ago
dm - dm 1.0.7
Features
copy_dm_to()now warns unconditionally on unsupported arguments, and fails ifcopy_tois provided (#1944). Use the newdm_sql()function as a replacement forcopy_dm_to(copy_to = )(#1915, #2011, @jangorecki).New
json_unnest()andjson_unpack(), currently implemented for data frames only (#991, #997).dm_rows_append()also works for local dm, with support for autoincrement primary keys (#1727, #1745).Breaking change: Add
check_dots_empty()calls (#1929, #1943).Test MySQL on GHA (#1940).
Improve MySQL compatibility regarding learning of database schemas and checking of constraints (#1938).
Breaking changes
- Breaking change: Add
check_dots_empty()calls (#1929, #1943).
Bug fixes
Compatibility with duckdb 0.9.1.
Minor fixes in
dm_pack_tbl()anddm_unwrap_tbl()(#1947).
Documentation
Use
rlang::check_installed()internally to install missing suggested packages on the fly (@olivroy, #1348, #2036, #2039, #2040).Use vectorized
rlang::is_installed()to decide if examples should be run (@olivroy, #2043).Recategorize and describe function reference.
Better error and information messages when querying keys.
collect.zoomed_dm()shows a more helpful error message (#1929, #1945).Add information on default font size to
?dm_draw(#1935).Add
db-*rules to Makefile to simplify Docker-based database setup.Remove curly braces, add
\pkg(@olivroy, #2042).
Performance
Replace
tibble()byfast_tibble()(@mgirlich, #1928).Replace superseded
dplyr::recode()(@mgirlich, #1927).
Testing
Remove most skips from tests (#2052).
Add explicit unique key to
dm_for_filter().Add Postgres test for
dm_sql().Switch internal testing to MariaDB.
Fast offline checks with new
"DM_OFFLINE"environment variable.New GHA checks for the case of missing suggested packages (#1952).
Chore
Make
check_suggested()a standalone (#2054).Backport changes from attempted CRAN release (#2046).
Move magrittr (#1975, #1983), DBI (#1974), and pillar (#1976) to
"Suggests".Require RMariaDB 1.3.0, work around tidyverse/dbplyr#1190 and tidyverse/dbplyr#1195 (#1989).
Internal
Prefer
map*()overlapply()andvapply().styler::style_pkg(scope = "tokens").Rename internal
new_dm3()todm_from_def()(#1225, #1949).Remove dead code (#979, #1950, #1871).
Reorganize
build_copy_queries()(#1923).Avoid
dbplyr::ident_q()(#1788).Add ellipsis to
tbl_sum()signature (#1941).
- R
Published by krlmlr over 2 years ago
dm - dm 1.0.5
Features
- Progress bars for
dm_wrap_tbl()anddm_unwrap_tbl()(#835, #1450).
Documentation
Add cheat sheet as a vignette (#1653).
Suggest creating a function for your database
dmobject (#1827, #1828).Add alternative text to author images for pkgdown website (#1804).
Chore
Compatibility with dev jsonlite (#1837).
Remove tidyverse dependency (#1798, #1834).
Minimal patch to fix multiple match updates (@DavisVaughan, #1806).
Adapt to rlang 1.1.0 changes (#1817).
Make sure
{dm}passes "noSuggests" workflow (#1659).
- R
Published by github-actions[bot] almost 3 years ago
dm - dm 1.0.4
Features
dm_add_pk()gainsautoincrementargument (#1689), autoincrement primary keys are configured on the database withcopy_dm_to()(#1696).New
dm_add_uk(),dm_rm_uk()anddm_get_all_uks()functions for explicit support of unique keys (#622, #1716).dm_get_all_pks()anddm_get_all_fks()return output in the order oftableorparent_tableargument (#1707).Improve error message for
dm_add_pk()when thecolumnsargument is missing (#1644, #1646).
Breaking changes
dm_get_all_pks(),dm_get_all_fks(), anddm_get_all_uks()require unquoted table names as input, for consistency with other parts of the API (#1741).
Bug fixes
dm_examine_constraints()works fordmobjects on the database with compound keys (#1713).
Documentation
Update pkgdown URL to https://dm.cynkra.com/ (#1652).
Fix link rot (#1671).
Internal
Require dplyr >= 1.1.0 and lifecycle >= 1.0.3 (#1771, #1637).
Checks pass if all suggested packages are missing (#1659).
Fix r-devel builds (#1776).
dm_unpack_tbl()sets PK before FK (#1715).Clean up
dm_rows_append()implementation (#1714).dm()accepts tables that are of class"tbl_sql"but not"tbl_dbi"(#1695, #1710).Use correctly typed missing value for lists (@DavisVaughan, #1686).
- R
Published by krlmlr about 3 years ago
dm - dm 1.0.2
Features
dm_from_con()can use multiple schemata (@mgirlich, #1441, #1449).pack_join(keep = TRUE)preserves order of packed columns (#1513, #1514).pack_join(keep = TRUE)keeps keys ofyin the resulting packed column (#1451, #1452).New
json_pack.tbl_lazy()andjson_nest.tbl_lazy()(#969, #975).
Bug fixes
dm_paste()gives correct output for factor columns with many levels (#1510, #1511).
Chore
Fix compatibility with duckdb 0.5.0 (#1509, #1518).
Refactor
dm_unwrap_tbl()so it builds a "unwrap plan" first (#1446, #1447).Reenable
dm_rows_update()test (#1437).
- R
Published by krlmlr over 3 years ago
dm - dm 1.0.0
Features
New
dm_gui()for interactive editing ofdmobjects (#1076, #1319).dm_get_tables()andpull_tbl()gain a newkeyed = FALSEargument. If set toTRUE, table objects of class"dm_keyed_tbl"are returned. These objects inherit from the underlying data structure (tibble or lazy table), keep track of primary and foreign keys, and can be used later on in a call todm()to recreate a dm object with the keys (#1187).New
by_positionargument tocheck_subset(),check_set_equality(),check_cardinality_...()andexamine_cardinality()(#1253).dm()accepts dm objects (#1226).dm_examine_constraints()honors implicit unique keys defined by foreign keys (#1131, #1209).
Breaking changes
dm_filter()is now stable, with a new API that avoids exposing an intermediate state with filters not yet applied, with a compatibility wrapper (#424, #426, #1236).check_cardinality_...(),examine_cardinality(),check_subset()andcheck_set_equality()are now stable and consistently use a common interface with arguments namedx,y,x_selectandy_select, with compatibility wrappers (#1194, #1229).dm_examine_cardinalities()anddm_examine_constraints()are now stable with a new signature and a compatibility wrapper (#1193, #1195).dm_apply_filters(),dm_apply_filters_to_tbl()anddm_get_filters()are deprecated (#424, #426, #1236).dm_disambiguate_cols()adds table names as a suffix by default, and gains a.positionargument to restore the original behavior. Argumentssepandquietare renamed to.sepand.quiet(#1293, #1327).dm_squash_to_tbl()is deprecated in favor of the new.recursiveargument todm_flatten_to_tbl(). Argumentsstartandjoinare renamed to.startand.join(#1272, #1324).dm_rm_tbl()is deprecated in favor ofdm_select_tbl()(#1275).dm_bind()anddm_add_tbl()are deprecated in favor ofdm()(#1226).rows_truncate()anddm_rows_truncate()are deprecated, because they use DDL as opposed to all other verbs that use DML (#1031, #1321).All internal S3 classes now use the
"dm_"prefix (#1285, #1339).Add ellipses to all generics (#1298).
API
Reexport
tibble()(#1279).dm_ptype(),dm_financial()anddm_pixarfilms()are stable now (#1254).Turn all "questioning" functions to "experimental" (#1030, #1237).
Performance
is_unique_key()usesvctrs::vec_count()on local data frames for speed (@eutwt, #1247).check_key()usesvctrs::vec_duplicate_any()on local data frames for speed (@eutwt, #1234).
Bug fixes
dm_draw()works if a table name has a space (#1219).Don't print rule in
glimpse.dm()for emptydm()(#1208).
Documentation
Work around ANSI escape issues in CRAN rendering of vignette (#1156, #1330).
Fix column names in
?dm_get_all_pks(#1245).Improve contrast for display of
dm_financial()(#1073, #1250).Add contributing guide (#1222).
Internal
Use sensible node and edge IDs, corresponding to the data model, in SVG graph (#1214).
Tests for datamodelr code (#1215).
- R
Published by krlmlr over 3 years ago
dm - dm 0.3.0
Features
Implement
glimpse()forzoomed_df(@IndrajeetPatil, #1003, #1161).Remove message about automated key selection with the
selectargument in joins onzoomed_df(@IndrajeetPatil, #1113, #1176).dm_from_con(learn_keys = TRUE)works for MariaDB (#1106, #1123, #1169, @maelle), and for compound keys in Postgres (#342, #1006, #1016) and SQL Server (#342).New
json_pack_join(),json_nest_join(),json_pack()andjson_nest(), similar topack_join(),dplyr::nest_join(),tidyr::pack()andtidyr::nest(), but create character columns (#917, #918, #973, #974).nest_join()andpack_join()supportzoomed_dfobjects (#1119, @IndrajeetPatil).
API
Marked stable functions as stable, in particular
dm()and related functions (#1032, #1040).Remove own
rows_*()implementation for lazy tables, they are now available in dbplyr >= 2.2.0 (#912, #1024, #1028).Deprecate
dm_join_to_tbl(),dm_is_referenced()anddm_get_referencing_tables()(#1038).New
dm_validate()replaces now deprecatedvalidate_dm()(#1033).dm_get_con()anddm_get_filters()usedmas argument name (#1034, #1036).Mark
...indm_flatten_to_tbl()as experimental (#1037).Add ellipses to
dm_disambiguate_cols(),dm_draw(),dm_examine_constraints(),dm_nycflights13()anddm_pixarfilms()(#1035).New
dm_from_con(), soft-deprecateddm_from_src()(#1014, #1018, #1044).Moved
pack_join()arguments past the ellipsis for consistency (#920, #921).
Bug fixes
- Compatibility fix for writing to SQL Server tables with dbplyr >= 2.2.0.
Documentation
The pkgdown site now uses BS5 for greater readability (#1067, @maelle).
Better message for
dm_rows_...()functions if thein_placeargument is missing (@IndrajeetPatil, #414, #1160).Better message for learning error (#1081).
Greatly improved consistency, content, and language across all articles (@IndrajeetPatil, #1056, #1132, #1157, #1166, #1079, #1082, #1098, #1100, #1101, #1103, #1112, #1120, #1158, #1175).
Tweaks of intro vignette and README (#1066, #1075, @maelle).
Document
glimpse()S3 method fordm(@IndrajeetPatil, #1121).Update credentials to fallback databases for
dm_financial()hosted on pacha.dev (#916, @pachadotdev), also used now for vignettes (#1118) and indm_from_con()example (#993).Update license year (#1029).
Internal
Switch to duckdb as default database backend (#1179).
Test duckdb and MariaDB on GHA (#1091, #1136).
- R
Published by krlmlr over 3 years ago
dm - dm 0.2.8
Features
pack_join()works correctly ifnameis the same as an existing column in either table. In some cases a column is overwritten, this is consistent withnest_join()behavior (#864, #865).- Messages that suggest the installation of optional packages are shown only once per session (#852).
dm_insert_zoomed()uses the color from the zoomed table for the new table (#750, #863).copy_dm_to()consumes less memory and is faster when writing to SQL Server (#855).
Bug fixes
- Remove extra spaces in output when examining constraints with compound keys (#868).
- Fix column tracking for foreign keys (#856, #857).
copy_dm_to()shows progress bars again (#850, #855).- Progress bars use the console width (#853).
- Avoid calling
dbAppendTable()for zero-row tables (#847).
Internal
- Require rlang 1.0.1 (#840).
- R
Published by krlmlr almost 4 years ago
dm - dm 0.2.7
Features
- New
dm_wrap_tbl(),dm_unwrap_tbl(),dm_nest_tbl(),dm_unnest_tbl(),dm_pack_tbl()anddm_unpack_tbl()(#595, #733, #737). - New
dm_examine_cardinality()(#264, #735). - New
pack_join()generic and method for data frames, the same totidyr::pack()asdplyr::nest_join()is totidyr::nest()(#721, #722). dm_pixarfilms()is exported and gains aconsistent = FALSEargument; ifTRUEthe data is modified so that all referential constraints are satisfied (#703, #707, #708, @erictleung).
Bug fixes
db_schema_...()functions no longer pro-actively check for schema existence (#672, #815, #771).db_schema_list.Microsoft SQL Serverno longer ignoring schemas for which the owner cannot be found (#815, #771).copy_dm_to()works with DuckDB again, the SQL statements to define the tables and indexes are now created by us (#701, #709).
Internal
- Establish compatibility with rlang 1.0.0 (#756).
- Simplify database checks on GitHub Actions (#712).
- R
Published by krlmlr about 4 years ago
dm - dm 0.2.6
Features
- New
dm_pixarfilms()creates a dm object with data from the {pixarfilms} package (#600, @erictleung). check_cardinality_0_1(),check_cardinality_0_n(),check_cardinality_1_1(),check_cardinality_1_n(), andexamine_cardinality()now support compound keys (#524).check_subset()andcheck_set_equality()support compound keys (#523).dm_paste()adds theon_deleteargument todm_add_fk()(#673).dm_disambiguate_cols()also disambiguates columns used in keys, to support correct disambiguation for compound keys (#662).dm_disambiguate_cols()now emits the source code equivalent of a renaming operation (#684).dm_examine_constraints()uses backticks to surround table names (#687).
Bug fixes
decompose_table()now avoids creatingNAvalues in the key column (#580).dm_draw()works with empty tables (#585).
Internal
- Fix compatibility with dplyr 1.0.8 (#698).
- R
Published by krlmlr over 4 years ago
dm - dm 0.2.5
Features
mutate(),transmute(),distinct()andsummarize()now supportdplyr::across()and extra arguments (#640).- Key tracking for the first three verbs is less strict and based on name equality (#663).
relocate()now works on zoomeddmobjects (#666).dm_add_fk()gainson_deleteargument whichcopy_dm_to()picks up and translates to anON DELETE CASCADEorON DELETE NO ACTIONspecification for the foreign key (#649).dm_copy_to()defines foreign keys during table creation, for all databases except DuckDB. Tables are created in topological order (#658). For cyclic relationship graphs, table creation is attempted in the original order and may fail (#664).waldo::compare()shows better output for dm objects (#642).dm_paste()output uses trailing commas in thedm::dm()andtibble::tibble()calls, and sorts column attributes by name, for better modularity (#641).
Breaking changes
- New
db_schema_create(),db_schema_drop(),db_schema_exists()anddb_schema_list()replace the correspondingsql_schema_*()functions, the latter are soft-deprecated (#670). The connection argument todb_schema_*()is calledcon, notdest(#668).
Bug fixes
copy_dm_to()andsql_create_schema()no longer actively check for schema existence (#644, #660).- Add newline after
OUTPUTclause for SQL Server (#647). - Fix
sql_rows_delete()withreturningargument for SQL Server (#645).
Internal
- Remove method only needed for RSQLite < 2.2.8, add warning if loaded RSQLite version is <= 2.2.8 (#632).
- Adapt MSSQL tests to testthat update (#648).
- R
Published by krlmlr over 4 years ago
dm - dm 0.2.4
Features
rows_insert(),rows_update()androws_delete()gainreturningargument. In combination within_place = TRUEthis argument makes the newly inserted rows accessible viaget_returning_rows()after the operation completes (#593, @mgirlich).- Implement
rows_patch()for DBI connections (#610, @mgirlich). - Use
NO ACTIONinstead ofCASCADEin foreign key constraints to permit self-references. dm_from_src()supportspool::Poolobjects (#599, @moodymudskipper).- Better error message for
dm_rows_update()and related functions for dm objects with tables without primary key (#592). glimpse()is implemented fordmobjects (#605).- Support DuckDB in
rows_insert(),rows_update()androws_delete()(#617, @mgirlich).
Bug fixes
- Fix
dm_zoom_to()fordmobjects with an empty table (#626, @moodymudskipper). - Avoid generating invalid
dmobjects in some corner cases (#596).
Internal
sql_schema_list()supportspool::Poolobjects (#633, @brancengregory).- Establish compatibility with pillar 1.6.2, vctrs > 0.3.8 and rlang > 0.4.11 (#613).
- Use
check_suggested()everywhere (#572, @moodymudskipper). - Add CI run for validating all new
dmobjects (#597).
- R
Published by krlmlr over 4 years ago
dm - dm 0.2.2
Features
dm_examine_constraints(),dm_rows_insert()and related,copy_dm_to()andcollect.dm()show progress bars in interactive mode via the progress package. The newprogress = NAargument controls the behavior (#262, @moodymudskipper).copy_dm_to()gains acopy_toargument to support other ways of copying data to the database (#582).
Internal
- Always run database tests on sqlite for df source.
- Establish compatibility with testthat > 3.0.2 (#566, @moodymudskipper).
- R
Published by krlmlr over 4 years ago
dm - dm 0.2.1
Breaking changes
dm_get_all_fks()returns a data frame with aparent_key_colsinstead of aparent_pk_colscolumn (introduced in dm 0.2.0), to reflect the fact that a foreign key no longer necessarily points to a primary key (#562).*_pk()and*_fk()functions now verify that the dots are actually empty (#536).dm_get_pk()is deprecated in favor ofdm_get_all_pks()(#561).dm_has_fk()anddm_get_fk()are deprecated in favor ofdm_get_all_fks()(#561).
Features
dm_add_fk()gainsref_columnsargument that supports creating foreign keys to non-primary keys (#402).dm_get_all_pks()gainstableargument for filtering the returned primary keys (#560).dm_get_all_fks()gainsparent_tableargument for filtering the returned foreign keys (#560).dm_rm_fk()gains an optionalref_columnsargument. This function now supports removal of multiple foreign keys filtered by parent or child table or columns, with a message (#559).dm_rm_pk()gainscolumnsargument and allows filtering by columns and by tables or removing all primary keys. Therm_referencing_fksargument has been deprecated in favor of the newfail_fkargument (#558).dm_get_all_fks()has been optimized for speed and no longer sorts the keys (#560).- dm operations are now slightly faster overall.
Internal
- The internal data structure for a dm object has changed to accommodate foreign keys to other columns than the primary key. An upgrade message is shown when working with a dm object from an earlier version, e.g. if it was loaded from a cache or an
.rdsfile (#402). - Drop
"dm_v1"class from dm objects again, this would have made every S3 dispatch more costly. Relying on an internal"version"attribute instead (#547).
- R
Published by krlmlr almost 5 years ago
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,forceandrm_referencing_fksarguments (#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 = FALSEto return the data model from dm v0.1.13 or earlier (#3).dm_get_all_fks()includesparent_pk_colscolumn that describes the primary key columns of the parent table (#335).dm_from_src()supports theschemaargument 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).
- R
Published by krlmlr almost 5 years ago
dm - dm 0.1.13
Features
dm_draw()gainscolumn_typesargument, ifTRUEthe column type is shown for each displayed column (#444, @samssann).copy_dm_to()gainsschemaargument (#432).dm_from_src()gainsdbnameargument for MSSQL (#472).
Bug fixes
- Fix
rows_update()when multiple columns are updated (#488, @samssann).
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).
- R
Published by krlmlr almost 5 years ago
dm - 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).
- R
Published by krlmlr over 5 years ago
dm - dm 0.1.6
Breaking changes
dm_get_src()returnsNULLfor 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).dmobjects 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 inxfor establishing matching rows.
Internal
- Use
withCallingHandlers()where appropriate (#422). - Consistent definition of
.dmand.zoomed_dmmethods (#300). - Examples involving
dm_financial()are not run if connection can't be established (#418). - Fix database tests on CI (#416).
- R
Published by krlmlr over 5 years ago
dm - 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
- Testing SQLite, Postgres and SQL Server on GitHub Actions (#408, @pat-s).
- Testing packages with all "Suggests" uninstalled.
- R
Published by krlmlr over 5 years ago
dm - 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
dmobject prints asdm()(#386).copy_dm_to()also accepts a function as thetable_namesargument. Theunique_table_names()argument is deprecated (#80).
Documentation
Add TL;DR to README (#377, @jawond).
Add content from old README to
howto-dm-theory.Rmd(#378, @jawond).
Internal
Require dplyr >= 1.0.0.
Use GitHub Actions (#369, @pat-s).
- R
Published by krlmlr over 5 years ago
dm - dm 0.1.3
- Avoid
src_sqlite()in vignettes (#372). - Rename vignettes (#349).
- Rename error class
"dm_error_tables_not_neighbours"to"dm_error_tables_not_neighbors". - Shortened README and intro article (#192, @jawond).
- Better testing for MSSQL (#339).
- Fix compatibility with dplyr 1.0.0.
- R
Published by krlmlr over 5 years ago
dm - dm 0.1.2
Features
dm_from_src()now works for databases other than Postgres and MSSQL (#288), gives a warning if tables cannot be accessed withtable_name = NULL(#348), and gainslearn_keysargument to control querying of primary and foreign keys from the database (#340).dm_examine_constraints()now prints a different message if a dm has no constraints defined.- Disambiguation message now only lists column names for easier copy-pasting.
- New methods for
"zoomed_dm":head(),tail(),pull(),group_data(),group_indices(),group_vars(),group_keys()andgroups()(#236, #203). dm_paste()supports writing colors and the table definition via the newoptionsargument. The definition can be written to a file via the newpathargument. Theselectargument is soft-deprecated (#218, #302).dm_add_tbl()usesrlang::list2()internally, now accepts:=to specify table names.- New
dm_ptype()(#301). - New
dm_financial()anddm_financial_sqlite(). - Printing dm objects from database sources with many tables is now faster (#308, @gadenbuie).
check_key()now also works on a zoomed dm.- Key columns are always selected in a join operation, with a message (#153).
- Support alpha colors for the table colors (#279).
Bug fixes
- Fix visualization of column that acts as a foreign key more than once (#37).
dm_add_pk(),dm_rm_pk(),dm_add_fk()anddm_rm_fk()are now stricter when keys exists or when attempting to remove keys that don't exist. A more relaxed mode of operation may be added later (#214).examine_cardinality(),dm_examine_constraints()andenum_pk_candidates()now work for columns namedn.dm_set_key_constraints()(and by extensiondm_copy_to(set_key_constraints = TRUE)) now quote identifiers for the SQL that creates foreign keys on the database.collect()gives a better error message when called on a"zoomed_dm"(#294).check_subset()gives a clean error message if the tables are complex expressions.dm_from_src(schema = "...")works on Postgres ifsearch_pathis not set on the connection.compute.zoomed_dm()no longer throws an error.- Remove unused DT import (#295).
Compatibility
- Remove use of deprecated
src_df()(#336). - Fix compatibility with dplyr 1.0.0 (#203).
Documentation
dm_draw()output is shown in examples (#251).- New article "{dm} and databases" (#309, @jawond).
Internal
- Testing on local data frames (by default), optionally also SQLite, Postgres, RMariaDB, and SQL Server. Currently requires development versions and various pull requests (#334, #327, #312, #76).
dm_nycflights13(subset = TRUE)memoizes subset and also reduces the size of theweathertable.- Expand definitions of deprecated functions (#204).
- R
Published by krlmlr almost 6 years ago