Creating Sources from your Warehouse

Setting up source definitions in dbt™ projects involves querying information schemas, documenting tables and columns, ensuring proper YAML formatting, and keeping sources up-to-date as new tables are added. This manual process can be time-consuming and prone to errors.

DinoAI Agent can automatically generate complete and accurate sources.yml files by directly accessing your data warehouse metadata.

Example Prompt

I uploaded some new data to my data warehouse. Can you create a sources.yaml file?

Optional: When updating existing sources with new tables, you can add context by selecting your existing sources.yml file. Context helps DinoAI understand your existing project structure and make more relevant changes.


Step-by-Step Instructions

Prerequisite: Connect your warehouse to your Code IDE environment

  1. Open DinoAI by clicking the DinoAI icon (🪄) in the left panel

  2. Ensure Agent Mode is selected

  3. Optional: Add context by clicking the "@" symbol and selecting any existing sources.yml files

  4. Enter your prompt requesting a sources.yml file creation

  5. Review the preview of the generated YAML file

  6. Accept the changes to create the file in your project

  7. Verify the file has been created correctly with all expected sources


How It Works

After you enter your prompt:

  1. DinoAI connects to your data warehouse and scans available schemas and tables

  2. It retrieves column information including data types

  3. If configured, DinoAI applies your .dinorules preferences

  4. It generates a properly formatted sources.yml file

Note: If you're updating existing (not creating) a YAML file, DinoAI preserves existing documentation and adds only the new tables


Key Benefits

  • Time Savings: Reduces a 30+ minute manual task to seconds

  • Accuracy: Eliminates typos and formatting errors

  • Maintainability: Makes it easy to keep sources up-to-date as your warehouse evolves

  • Completeness: Captures all tables and columns without missing anything

Last updated

Was this helpful?