Drop the engine preparation from build-db

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-04 15:34:36 +08:00
co-authored by Claude Fable 5
parent a534b1b70b
commit 1a7519becd
+1 -20
View File
@@ -633,23 +633,6 @@ class StoreCounts:
.where(Song.lyrics.is_not(None)))) .where(Song.lyrics.is_not(None))))
def prepare_engine(engine: sa.Engine) -> None:
"""Prepare a SQLite engine for a build.
For a file-based SQLite engine, the parent directory of the
database file is created when missing. A non-SQLite engine is
left untouched.
:param engine: The database engine.
:return: None.
"""
if engine.url.get_backend_name() != "sqlite":
return
database: str | None = engine.url.database
if database is not None and database != ":memory:":
Path(database).parent.mkdir(parents=True, exist_ok=True)
def reset_store(session: Session) -> None: def reset_store(session: Session) -> None:
"""Delete all the rows from every table of the store. """Delete all the rows from every table of the store.
@@ -819,9 +802,7 @@ def main(argv: list[str] | None = None) -> int:
:return: The exit status: 0 on success, non-zero on failure. :return: The exit status: 0 on success, non-zero on failure.
""" """
args: argparse.Namespace = parse_args(argv) args: argparse.Namespace = parse_args(argv)
engine: sa.Engine = ds.engine Base.metadata.create_all(ds.engine)
prepare_engine(engine)
Base.metadata.create_all(engine)
session: Session = ds.get_db() session: Session = ds.get_db()
counts: StoreCounts counts: StoreCounts
try: try: