Would it be possible to implement a way to specify physical table name for a model separately from the "logical" model name?
When making breaking changes to data products, we often want to provide multiple major versions of a data product in parallel, in order to allow downstream consumers to do a controlled migration at their own schedule. Inspired by the dbt approach to versioning models, we'd prefer to do this by providing tables with major version as the suffix, for example sales_v1 and sales_v2.
Currently specifying data contracts for such tables would mean that the model names would have to include the major version, breaking the diff functionality.
I discussed this with Simon, and the suggested solution is to add a new config field for models:
Hi,
Would it be possible to implement a way to specify physical table name for a model separately from the "logical" model name?
When making breaking changes to data products, we often want to provide multiple major versions of a data product in parallel, in order to allow downstream consumers to do a controlled migration at their own schedule. Inspired by the dbt approach to versioning models, we'd prefer to do this by providing tables with major version as the suffix, for example sales_v1 and sales_v2.
Currently specifying data contracts for such tables would mean that the model names would have to include the major version, breaking the diff functionality.
I discussed this with Simon, and the suggested solution is to add a new config field for models:
The physical table name could then be used when running tests, and should likely be used in at least some of the exports.