summaryrefslogtreecommitdiff
path: root/shopdb/_base.py
diff options
context:
space:
mode:
Diffstat (limited to 'shopdb/_base.py')
-rw-r--r--shopdb/_base.py16
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)