sqlmesh icon indicating copy to clipboard operation
sqlmesh copied to clipboard

default_connection type not propagated to gateways connections

Open martinburch opened this issue 10 months ago • 3 comments

I have several gateways defined in config.yaml which are all using the same connection type.

gateways:
  local:
    connection:
      type: mssql
      host: localhost
      user: placeholder
      database: local
  staging:
    connection:
      type: mssql
      host: staging.server
      user: placeholder
      database: staging

Why can't I specify

default_connection:
  type: mssql

And have type: mssql propagate to the local and staging connections?

When I try to remove the type: mssql definitions from the gateway connections after defining type: mssql in default_connection, I get Error: Missing connection type. when running sqlmesh --gateway staging info This behaviour seems contrary to the docs: https://sqlmesh.readthedocs.io/en/stable/guides/configuration/#default-connectionsscheduler

The default_connection, default_test_connection, and default_scheduler keys are used to specify shared defaults across multiple gateways.

martinburch avatar Apr 09 '25 15:04 martinburch

What would be the point of specifying multiple gateways with the same connection?

izeigerman avatar Apr 11 '25 17:04 izeigerman

Not the same connection host, but the same connection type. In my example, all my connections are to Microsoft SQL Server databases. What is the point of default_connection if not to "specify shared defaults across multiple gateways" as the docs say?

martinburch avatar Apr 11 '25 19:04 martinburch

yeah, i think there's an inaccuracy in the docs when it comes to default_connection. This is not at all how it works or is expected to work. We'll be updating the documentation.

izeigerman avatar Apr 21 '25 22:04 izeigerman