Skip to content

Commit 09fcd4d

Browse files
authored
Feat: add host/port to snowflake connection settings (#4023)
1 parent 5ad51c8 commit 09fcd4d

2 files changed

Lines changed: 7 additions & 1 deletion

File tree

sqlmesh/core/config/connection.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,8 @@ class SnowflakeConnectionConfig(ConnectionConfig):
407407
register_comments: Whether or not to register model comments with the SQL engine.
408408
pre_ping: Whether or not to pre-ping the connection before starting a new transaction to ensure it is still alive.
409409
session_parameters: The optional session parameters to set for the connection.
410+
host: Host address for the connection.
411+
port: Port for the connection.
410412
"""
411413

412414
account: str
@@ -417,6 +419,8 @@ class SnowflakeConnectionConfig(ConnectionConfig):
417419
role: t.Optional[str] = None
418420
authenticator: t.Optional[str] = None
419421
token: t.Optional[str] = None
422+
host: t.Optional[str] = None
423+
port: t.Optional[int] = None
420424
application: t.Literal["Tobiko_SQLMesh"] = "Tobiko_SQLMesh"
421425

422426
# Private Key Auth
@@ -550,6 +554,8 @@ def _connection_kwargs_keys(self) -> t.Set[str]:
550554
"private_key",
551555
"session_parameters",
552556
"application",
557+
"host",
558+
"port",
553559
}
554560

555561
@property

tests/cli/test_cli.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1099,7 +1099,7 @@ def test_init_project_dialects(tmp_path):
10991099
dialect_to_config = {
11001100
"redshift": "# concurrent_tasks: 4\n # register_comments: True\n # pre_ping: False\n # pretty_sql: False\n # user: \n # password: \n # database: \n # host: \n # port: \n # source_address: \n # unix_sock: \n # ssl: \n # sslmode: \n # timeout: \n # tcp_keepalive: \n # application_name: \n # preferred_role: \n # principal_arn: \n # credentials_provider: \n # region: \n # cluster_identifier: \n # iam: \n # is_serverless: \n # serverless_acct_id: \n # serverless_work_group: \n # enable_merge: ",
11011101
"bigquery": "# concurrent_tasks: 1\n # register_comments: True\n # pre_ping: False\n # pretty_sql: False\n # method: oauth\n # project: \n # execution_project: \n # quota_project: \n # location: \n # keyfile: \n # keyfile_json: \n # token: \n # refresh_token: \n # client_id: \n # client_secret: \n # token_uri: \n # scopes: \n # impersonated_service_account: \n # job_creation_timeout_seconds: \n # job_execution_timeout_seconds: \n # job_retries: 1\n # job_retry_deadline_seconds: \n # priority: \n # maximum_bytes_billed: ",
1102-
"snowflake": "account: \n # concurrent_tasks: 4\n # register_comments: True\n # pre_ping: False\n # pretty_sql: False\n # user: \n # password: \n # warehouse: \n # database: \n # role: \n # authenticator: \n # token: \n # application: Tobiko_SQLMesh\n # private_key: \n # private_key_path: \n # private_key_passphrase: \n # session_parameters: ",
1102+
"snowflake": "account: \n # concurrent_tasks: 4\n # register_comments: True\n # pre_ping: False\n # pretty_sql: False\n # user: \n # password: \n # warehouse: \n # database: \n # role: \n # authenticator: \n # token: \n # host: \n # port: \n # application: Tobiko_SQLMesh\n # private_key: \n # private_key_path: \n # private_key_passphrase: \n # session_parameters: ",
11031103
"databricks": "# concurrent_tasks: 1\n # register_comments: True\n # pre_ping: False\n # pretty_sql: False\n # server_hostname: \n # http_path: \n # access_token: \n # auth_type: \n # oauth_client_id: \n # oauth_client_secret: \n # catalog: \n # http_headers: \n # session_configuration: \n # databricks_connect_server_hostname: \n # databricks_connect_access_token: \n # databricks_connect_cluster_id: \n # databricks_connect_use_serverless: False\n # force_databricks_connect: False\n # disable_databricks_connect: False\n # disable_spark_session: False",
11041104
"postgres": "host: \n user: \n password: \n port: \n database: \n # concurrent_tasks: 4\n # register_comments: True\n # pre_ping: True\n # pretty_sql: False\n # keepalives_idle: \n # connect_timeout: 10\n # role: \n # sslmode: \n # application_name: ",
11051105
}

0 commit comments

Comments
 (0)