Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Begin using `Mergeable` supplied by `dbt-common` We're currently in the process of moving the "data resource" portion on nodes to `dbt/artifacts`. Some of those artifacts depend on `Mergeable` which has been defined on core. In order to move the data resources to `dbt/artifacts`, we thus need to move `Mergeable` upstream of core. We moved `Mergeable` to [dbt-common](https://github.com/dbt-labs/dbt-common) in dbt-labs/dbt-common#59, and released this change in [dbt-common 0.1.3](https://pypi.org/project/dbt-common/0.1.3/). As such as, in order to unblock some of the `dbt/artifacts` migration work, we first need to update references to `Mergeable` in core to use the `dbt-common` definition. NOTE: We include changing over to `Replaceable` from `dbt-common` in this commit. This is because there wasn't a clean way to do it. If I moved the imports of `Replaceable` on in the files where we updated `Mergeable` then we would have left `Replaceable` in an inbetween state. If we had moved all instances of `Replaceable`, it'd be out of scope for the change. As such, it makes more sense to do that as a separate changeset. * Remove definition of `Mergeable` from dbt/contracts/util Although we've removed the definition of `Mergeable` we've ensured the import paths are still available. We do this because this is under `contracts`, and the sudden disappearance from the import path might cause issues for community members using dbt-core as a library. Ideally we'd define a `Mergeable` class here that inherits the `dbt-common` definition and raise a deprecation warning on instantiation. However, we don't have an established strategy to do so.
- Loading branch information