Create a single dm from two or more dm objects.

dm_bind(..., repair = "check_unique", quiet = FALSE)



dm objects to bind together.


Either a string or a function. If a string, it must be one of "check_unique", "minimal", "unique", or "universal". If a function, it is invoked with a vector of minimal names and must return minimal names, otherwise an error is thrown.

  • Minimal names are never NULL or NA. When an element doesn't have a name, its minimal name is an empty string.

  • Unique names are unique. A suffix is appended to duplicate names to make them unique.

  • Universal names are unique and syntactic, meaning that you can safely use the names as variables without causing a syntax error.

The "check_unique" option doesn't perform any name repair. Instead, an error is raised if the names don't suit the "unique" criteria.


By default, the user is informed of any renaming caused by repairing the names. This only concerns unique and universal repairing. Set quiet to TRUE to silence the messages.


dm containing the tables and key relations of all dm objects.


The dm objects have to share the same src. By default table names need to be unique.


dm_1 <- dm_nycflights13() dm_2 <- dm(mtcars, iris) dm_bind(dm_1, dm_2)
#> ── Metadata ──────────────────────────────────────────────────────────────────── #> Tables: `airlines`, `airports`, `flights`, `planes`, `weather`, … (7 total) #> Columns: 69 #> Primary keys: 3 #> Foreign keys: 3