feat(setup): drop redundant Snowflake schema prompt; fall back to free-text on listSchemas failure

Snowflake setup previously asked for a single schema as free text, then
ran a multiselect against the discovered schemas — two schema questions
back-to-back, with the first being only a session bootstrap. The SDK's
`schema` is optional, so the bootstrap step is unnecessary.

- Remove the free-text Snowflake schema prompt; only pass `schema` to
  snowflake-sdk when one is configured.
- When `listSchemas()` fails (e.g. role lacks SHOW SCHEMAS), prompt the
  user for a comma-separated list, persist it as `schema_names`, and use
  it as both the table-list filter and the multiselect default. Applies
  to every driver with a scope-discovery spec, not just Snowflake.
- Update docs to lead with `schema_names`; keep `schema_name` as a
  documented single-schema shorthand.
This commit is contained in:
Andrey Avtomonov 2026-05-22 11:32:10 +02:00
parent fd2ba62d92
commit 70f47e8b54
4 changed files with 129 additions and 46 deletions

View file

@ -129,20 +129,18 @@ connections:
account: xy12345
warehouse: ANALYTICS_WH
database: PROD
schema_name: PUBLIC
schema_names:
- PUBLIC
- SALES
- MARKETING
username: KTX_SERVICE
password: env:SNOWFLAKE_PASSWORD
role: ANALYST
```
For multiple schemas:
```yaml
schema_names:
- PUBLIC
- ANALYTICS
- STAGING
```
`ktx setup` discovers schemas after the connection is verified and writes the
selected list to `schema_names`. You can also set this field manually. For a
single schema, `schema_name: PUBLIC` is accepted as an equivalent shorthand.
### Authentication