fix: Allow exporting saved queries without schema information (#26889)

This commit is contained in:
Sebastian Bernauer 2024-02-01 16:12:29 +01:00 committed by GitHub
parent 4c245850c4
commit 4c5176eea8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 8 additions and 3 deletions

View File

@ -40,11 +40,16 @@ class ExportSavedQueriesCommand(ExportModelsCommand):
def _export(
model: SavedQuery, export_related: bool = True
) -> Iterator[tuple[str, str]]:
# build filename based on database, optional schema, and label
# build filename based on database, optional schema, and label.
# we call secure_filename() multiple times and join the directories afterwards,
# as secure_filename() replaces "/" with "_".
database_slug = secure_filename(model.database.database_name)
schema_slug = secure_filename(model.schema)
query_slug = secure_filename(model.label) or str(model.uuid)
file_name = f"queries/{database_slug}/{schema_slug}/{query_slug}.yaml"
if model.schema is None:
file_name = f"queries/{database_slug}/{query_slug}.yaml"
else:
schema_slug = secure_filename(model.schema)
file_name = f"queries/{database_slug}/{schema_slug}/{query_slug}.yaml"
payload = model.export_to_dict(
recursive=False,