Skip to main content

Environments in dbt

In software engineering, environments are used to enable engineers to develop and test code without impacting the users of their software.

“Production” (or prod) refers to the environment that end users interact with, while “development” (or dev) is the environment that engineers work in. This means that engineers can work iteratively when writing and testing new code in development, and once they are confident in these changes, deploy their code to production.

In traditional software engineering, different environments often use completely separate architecture. For example, the dev and prod versions of a website may use different servers and databases.

Data warehouses can also be designed to have separate environments – the _production_ environment refers to the relations (for example, schemas, tables, and views) that your end users query (often through a BI tool).