diff options
Diffstat (limited to 'shopdb/_base.py')
-rw-r--r-- | shopdb/_base.py | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/shopdb/_base.py b/shopdb/_base.py index 8033d28..5e8c3bc 100644 --- a/shopdb/_base.py +++ b/shopdb/_base.py @@ -1,8 +1,18 @@ -__all__ = ["engine", "Base"] +__all__ = ["engine", "Base", "Session"] +import appdirs +import pathlib import sqlalchemy +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import sessionmaker -engine = sqlalchemy.create_engine("sqlite:///:memory:", echo=True) -Base = sqlalchemy.ext.declarative.declarative_base + +path = pathlib.Path(appdirs.user_data_dir(appname="shopdb")) / "sqlite3.db" +path.parent.mkdir(parents=True, exist_ok=True) +engine = sqlalchemy.create_engine(f"sqlite:///{path}", echo=False) + +Base = declarative_base() + +Session = sessionmaker(bind=engine) |