dbt-config
v1.0.0
Published
1. Create a copy of the `.env.sample` file and name it `.env`. Delete any comments (noted by `#...`).
Readme
The dbt project for managing data transformations for LDT's organiser-facing reporting.
Setting up the project for local development
Create a copy of the
.env.samplefile and name it.env. Delete any comments (noted by#...).Set the environment variables in
.envaccording to the commented instructions.To run dbt commands locally, you'll need to setup a virtual environment:
- Check that you have Python3 installed on your Mac by running
which python3. If not, install Python3 usingrun install-pythonor via the Python downloads page. - Create your virtual environment, by running:
yarn create-virtual-env- Activate your virtual environment, by running:
source dbt_venv/bin/activate- Install dbt (with the postgres adapter), as specified in the requirements.txt file, by running:
yarn install-dbt- Setup, and install any external dbt package dependencies that this project requires, by running:
yarn setup-dbt- If this outputs "All checks passed!" you're now ready to run some dbt commands! Here are some examples:
- To run all the models, run:
yarn run- To run one model, use the --select flag (or -s flag), followed by the name of the model:
doppler run -- dbt run --select <MODEL NAME>- To run a model and all of its downstream children:
doppler run -- dbt run --select <MODEL NAME>+- To run a model and all of its upstream parents:
doppler run -- dbt run --select +<MODEL NAME>- To run just the models in one subdirectory of the models folder, use the --select flag (or -s flag), followed by the name of the subdirectory:
doppler run -- dbt run --select models.<SUBDIRECTORY NAME>- To run all the tests, run:
doppler run -- dbt test- To run a macro, run:
doppler run -- dbt run-operation <MACRO NAME>- To run a macro with arguments, run:
doppler run -- dbt run-operation <MACRO NAME> --args '{<ARG 1>: <VALUE 1>, <ARG 2>: <VALUE 2>}'Creating a new dbt model
dbt models are all stored in the models subfolder in src. To create a new dbt model:
Create a
.sqlfile for your model in a folder under the models directory. For operational reports, create the model in theoperationalsubfolder. Aggregate analytic models should be created in theanalyticssubfolder.Add a description of the model and columns in
schema.yml. Here you can also define tests to run on your model. For more details about writing tests in dbt, see [this link] (https://docs.getdbt.com/docs/build/tests).Run
dbt run -m <MODEL NAME>to create the model locally.If you have specified tests on your model, run
dbt test -m <MODEL NAME>to test your model. Note that you need to build the model usingdbt runbefore you test it.Push your changes and raise a PR.
Sharing DBT Models with wider code-base
- To re-generate the typescript schemas and view creation commands run:
yarn gen- Copy package to where it needs to be used
Resources:
- Learn more about dbt in the docs
- Check out Discourse for commonly asked questions and answers
- Join the chat on Slack for live discussions and support
- Find dbt events near you
- Check out the blog for the latest news on dbt's development and best practices
