dbt-labs / dbt-labs/docs.getdbt.com

Clarify how to set up dev, prod, ci environments

Open
#3,081 3 comments 0 reactions 0 assignees View on GitHub
content improvement priority: medium size: medium
Dominant language
JavaScript
Stars
215
Forks
1.2k
Avg merge
1d 15h
Merged PRs (30d)
130

Description

### Contributions

- [X] I have read the contribution docs, and understand what's expected of me.

### Link to the page on docs.getdbt.com requiring updates

During [this](https://github.com/dbt-labs/dbt-core/issues/7218) conversation, I wanted to point the user to where they could learn how to set up their profiles.yml and environment variables to achieve separate development environments per developer (via different database schemas).

I was surprised that there wasn't a single webpage page in the docs that would serve as a "one-stop-shop" for setting this up. I suspect part of the reason is that dbt Cloud doesn't allow direct configuration of `profiles.yml`.

My first attempt to compile the relevant information is in my reply here: https://github.com/dbt-labs/dbt-core/issues/7218#issuecomment-1485072444

### What part(s) of the page would you like to see updated?

Making all of the following information available or reachable from the same page would be an improvement:

- dbt's recommendation of [separate schemas per developer](https://docs.getdbt.com/docs/collaborate/environments#how-do-i-maintain-different-environments-with-dbt)
- acknowledgement of many other approaches to separate environments:
- [Separate databases, schemas, or accounts](https://docs.evidence.dev/deployment/environments#typical-data-environment-configurations)
- [Alternative separation of environments](https://www.datafold.com/blog/how-to-setup-dbt-development-environments#s4)
- Differences in setup for Cloud versus Core
- In Core, how to make use of [environment variables](https://docs.getdbt.com/reference/dbt-jinja-functions/env_var) within [profiles.yml](https://docs.getdbt.com/docs/core/connection-profiles)
- How the developer should configure their own environment variables
- How environment variables can be configured in CI or production environments
- Optional call-out: relation to [twelve-factor app methodology](https://12factor.net/)
- [How dbt generate a model's schema name by default](https://docs.getdbt.com/docs/build/custom-schemas#how-does-dbt-generate-a-models-schema-name) (and options for advanced configuration via a custom macro)
- How to separate environments at the database or account or hostname levels (rather than via schemas)

### Additional information

_No response_

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.