Go to file
Jack Forgash f5065f7313
Some checks failed
docs_update / docs_update (push) Has been cancelled
docs_update / notify-failure (push) Has been cancelled
dbt_run_streamline_non_core_weekly / run_dbt_jobs (push) Has been cancelled
dbt_run_streamline_non_core_weekly / notify-failure (push) Has been cancelled
dbt_run_dev_refresh / run_dbt_jobs (push) Has been cancelled
dbt_run_dev_refresh / notify-failure (push) Has been cancelled
dbt_test_scheduled / run_dbt_jobs (push) Has been cancelled
dbt_run_observability / run_dbt_jobs (push) Has been cancelled
dbt_run_streamline_blocks_realtime / run_dbt_jobs (push) Has been cancelled
dbt_run_streamline_chunks_realtime / run_dbt_jobs (push) Has been cancelled
dbt_run_observability / notify-failure (push) Has been cancelled
dbt_run_streamline_blocks_realtime / notify-failure (push) Has been cancelled
dbt_run_streamline_chunks_realtime / notify-failure (push) Has been cancelled
Merge pull request #493 from FlipsideCrypto/quickfix-dupe-error
add token_contract_address to pk
2025-08-02 09:29:10 -04:00
.cursor/rules rm near from overview 2025-07-15 13:14:17 -06:00
.github/workflows fix gha secret ref 2025-06-24 16:31:16 -04:00
analysis First commit 2022-01-12 14:15:26 -05:00
data fixing other stuff 2025-04-08 11:12:14 -06:00
docs vercel files to docs 2022-10-06 21:31:47 -06:00
macros Merge branch 'main' into intents-labels 2025-03-18 09:04:47 -06:00
models add token_contract_address to pk 2025-08-02 09:28:43 -04:00
python add slack alert monitor 2025-05-13 18:00:23 -06:00
python_scripts only send alert on failure 2025-04-04 11:33:08 -06:00
snapshots First commit 2022-01-12 14:15:26 -05:00
tests disable xfer gap test (for later ticket) 2025-04-28 10:51:43 -06:00
.env.sample modify community resources to match other flipside repos 2022-10-17 16:34:18 -07:00
.gitignore upd descriptions and rules 2025-06-24 15:14:26 -04:00
dbt_project.yml Merge branch 'main' into intents-labels 2025-03-18 09:04:47 -06:00
docker-compose.yml modify community resources to match other flipside repos 2022-10-17 16:34:18 -07:00
Dockerfile source 2022-09-18 12:26:00 -06:00
LICENSE Create LICENSE 2023-04-05 10:01:18 -06:00
Makefile poc -> streamline schema 2024-09-19 11:54:21 -07:00
package-lock.yml fix incr clause 2025-01-30 19:24:37 -07:00
packages.yml bump fsc_utils to v1.33.0 2024-12-06 18:14:09 -08:00
profiles.yml update root profiles.yml 2025-02-13 09:50:09 -08:00
README.md rm outdated info from readme 2025-05-02 10:55:33 -06:00
requirements.txt req 2024-03-13 13:50:50 -06:00
selectors.yml test fsc-utils w/ lq-base 2024-12-02 16:25:25 -08:00

Near DBT Project

Curated SQL Views and Metrics for the Near Blockchain.

What's Near? Learn more here

Variables

To control which external table environment a model references, as well as, whether a Stream is invoked at runtime using control variables:

  • STREAMLINE_INVOKE_STREAMS When True, invokes streamline on model run as normal When False, NO-OP
  • STREAMLINE_USE_DEV_FOR_EXTERNAL_TABLES When True, uses DEV schema Streamline. Ethereum_DEV When False, uses PROD schema Streamline. Ethereum

Default values are False

  • Usage: dbt run --var '{"STREAMLINE_USE_DEV_FOR_EXTERNAL_TABLES": True, "STREAMLINE_INVOKE_STREAMS": True}' -m ...

To control the creation of UDF or SP macros with dbt run:

  • UPDATE_UDFS_AND_SPS When True, executes all macros included in the on-run-start hooks within dbt_project.yml on model run as normal When False, none of the on-run-start macros are executed on model run

Default values are False

  • Usage: dbt run --var '{"UPDATE_UDFS_AND_SPS": True}' -m ...

Applying Model Tags

Database / Schema level tags

Database and schema tags are applied via the add_database_or_schema_tags macro. These tags are inherited by their downstream objects. To add/modify tags call the appropriate tag set function within the macro.

{{ set_database_tag_value('SOME_DATABASE_TAG_KEY','SOME_DATABASE_TAG_VALUE') }}
{{ set_schema_tag_value('SOME_SCHEMA_TAG_KEY','SOME_SCHEMA_TAG_VALUE') }}

Model tags

To add/update a model's snowflake tags, add/modify the meta model property under config. Only table level tags are supported at this time via DBT.

{{ config(
    ...,
    meta={
        'database_tags':{
            'table': {
                'PURPOSE': 'SOME_PURPOSE'
            }
        }
    },
    ...
) }}

By default, model tags are pushed to Snowflake on each DBT run. You can disable this by setting the UPDATE_SNOWFLAKE_TAGS project variable to False during a run.

dbt run --var '{"UPDATE_SNOWFLAKE_TAGS":False}' -s models/core/core__ez_dex_swaps.sql

Querying for existing tags on a model in snowflake

select *
from table(near.information_schema.tag_references('near.core.ez_dex_swaps', 'table'));

Branching / PRs

When conducting work please branch off of main with a description branch name and generate a pull request. At least one other individual must review the PR before it can be merged into main. Once merged into main DBT Cloud will run the new models and output the results into the PROD schema.

When creating a PR please include the following details in the PR description:

  1. List of Tables Created or Modified
  2. Description of changes.
  3. Implication of changes (if any).

More DBT Resources:

  • Learn more about dbt in the docs
  • Check out Discourse for commonly asked questions and answers
  • Check out the blog for the latest news on dbt's development and best practices