> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cube.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Disabling pre-aggregations

> We want to disable pre-aggregations unless some condition is fulfilled, e.g., unless the deployment is running in a production environment.

## Use case

We want to disable [pre-aggregations][ref-pre-aggs] unless some condition is
fulfilled, e.g., unless the deployment is running in a production environment.

## Data modeling

You can add an environment variable and use it in data model files to enable or
disable pre-aggregations.

### YAML files

In [YAML data model files][ref-env-vars-recipe-yaml], you can use Jinja with the
built-in `env_var` function:

```yamltitle="model/orders.yml" theme={"dark"}
cubes:
  - name: orders
    sql_table: orders
 
    measures:
      - name: count
        type: count
    
    {% if env_var('PRE_AGGREGATIONS_ENABLED', True) %}
    pre_aggregations:
      - name: count
        measures:
          - count
    {% endif %}
```

### JavaScript files

In [JavaScript data model files][ref-env-vars-recipe-js], you can use JavaScript
with an auxiliary file that exports your environment variable. Consider the
following file structure:

```tree theme={"dark"}
.
├── env.js
└── model
    └── orders.js
```

```javascripttitle="env.js" theme={"dark"}
module.exports = {
  pre_aggregations_enabled: process.env.PRE_AGGREGATIONS_ENABLED !== 'false'
}
```

```javascripttitle="model/orders.js" theme={"dark"}
import { pre_aggregations_enabled } from '../env'

cube(`orders`, {
  sql_table: `orders`,

  measures: {
    count: {
      type: `count`
    }
  },
  
  pre_aggregations: pre_aggregations_enabled
    ? {
      main: {
        measures: (CUBE) => [
          `${CUBE}.count`
        ]
      }
    }
    : {}
})
```

Note that you will have to adjust the pre-aggregation definition to account for
the [context symbol transpilation][ref-context-symbols-transpilation]. This is
the reason why `measures` are defined as such above.

[ref-pre-aggs]: /docs/pre-aggregations#pre-aggregations

[ref-env-vars-recipe-yaml]: /recipes/configuration/environment-variables#yaml-files

[ref-env-vars-recipe-js]: /recipes/configuration/environment-variables#javascript-files

[ref-context-symbols-transpilation]: /docs/data-modeling/dynamic/schema-execution-environment#context-symbols-transpile
