Skip to content

OutputsConfig

relationalai.config.config_deployment_fields

Defaults and per-output overrides for the tables and relations your model produces.

Top-level keys set deployment-wide defaults; overrides is an ordered list of per-output adjustments. Output names follow Snowflake rules: unquoted names match case-insensitively (cancel_chain matches CANCEL_CHAIN); wrap a name in double quotes (e.g. '"My.Table"') to match a quoted identifier exactly.

outputs:
reasoner: sql
type: table
schedule: standard
overrides:
- objects: [TRANSACTION]
reasoner: logic
- objects: [recursive_closure]
schedule: fast_path
- objects: [SOURCE_DERIVED_TRANSACTIONS, DERIVED_TRANSACTIONS]
type: view
OutputsConfig.reasoner: (str, optional)

Default reasoner — "sql" or "logic". When omitted (default), the router auto-decides per output. When set, every output not covered by an override is forced onto this reasoner.

Advanced option. Only force outputs that the target reasoner can actually compute; incompatible forcings might surface as a runtime error at refresh time rather than at config load.

OutputsConfig.type: str

Default materialization type for output tables (Snowflake only): "view", "table", or "dynamic_table" (default). Ignored on DuckDB.

OutputsConfig.schedule: (str, optional)

Default schedule name (under deployment.schedules) that outputs refresh on. Outputs without a schedule override use this one; if omitted, those outputs are not scheduled.

OutputsConfig.overrides: list[OutputOverride]

Ordered per-output adjustments. Each entry names a group of outputs and sets one or more of reasoner, type, schedule for them.

OutputsConfigpydantic.BaseModel