Skip to content

Commit 10157c9

Browse files
authored
fix(cli): correctly handle and detect multi-configs (#63)
Corrects a slot issue with SQL Loader for migrations in Litestar and enables multi-config support at the CLI.
1 parent ca8b2c7 commit 10157c9

File tree

11 files changed

+786
-353
lines changed

11 files changed

+786
-353
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ maintainers = [{ name = "Litestar Developers", email = "[email protected]" }]
1313
name = "sqlspec"
1414
readme = "README.md"
1515
requires-python = ">=3.9, <4.0"
16-
version = "0.18.0"
16+
version = "0.19.0"
1717

1818
[project.urls]
1919
Discord = "https://discord.gg/litestar"

sqlspec/base.py

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -593,22 +593,18 @@ def configure_cache(
593593
)
594594
)
595595

596-
def _ensure_sql_loader(self) -> "SQLFileLoader":
597-
"""Ensure SQL loader is initialized lazily."""
598-
if self._sql_loader is None:
599-
from sqlspec.loader import SQLFileLoader
600-
601-
self._sql_loader = SQLFileLoader()
602-
return self._sql_loader
603-
604596
def load_sql_files(self, *paths: "Union[str, Path]") -> None:
605597
"""Load SQL files from paths or directories.
606598
607599
Args:
608600
*paths: One or more file paths or directory paths to load.
609601
"""
610-
loader = self._ensure_sql_loader()
611-
loader.load_sql(*paths)
602+
if self._sql_loader is None:
603+
from sqlspec.loader import SQLFileLoader
604+
605+
self._sql_loader = SQLFileLoader()
606+
607+
self._sql_loader.load_sql(*paths)
612608
logger.debug("Loaded SQL files: %s", paths)
613609

614610
def add_named_sql(self, name: str, sql: str, dialect: "Optional[str]" = None) -> None:
@@ -619,8 +615,12 @@ def add_named_sql(self, name: str, sql: str, dialect: "Optional[str]" = None) ->
619615
sql: Raw SQL content.
620616
dialect: Optional dialect for the SQL statement.
621617
"""
622-
loader = self._ensure_sql_loader()
623-
loader.add_named_sql(name, sql, dialect)
618+
if self._sql_loader is None:
619+
from sqlspec.loader import SQLFileLoader
620+
621+
self._sql_loader = SQLFileLoader()
622+
623+
self._sql_loader.add_named_sql(name, sql, dialect)
624624
logger.debug("Added named SQL: %s", name)
625625

626626
def get_sql(self, name: str) -> "SQL":
@@ -633,8 +633,12 @@ def get_sql(self, name: str) -> "SQL":
633633
Returns:
634634
SQL object ready for execution.
635635
"""
636-
loader = self._ensure_sql_loader()
637-
return loader.get_sql(name)
636+
if self._sql_loader is None:
637+
from sqlspec.loader import SQLFileLoader
638+
639+
self._sql_loader = SQLFileLoader()
640+
641+
return self._sql_loader.get_sql(name)
638642

639643
def list_sql_queries(self) -> "list[str]":
640644
"""List all available query names.

0 commit comments

Comments
 (0)