@@ -20,9 +20,13 @@ def __init__(self, debug_mode=False):
20
20
self .db_path = self .home / "tuttle.db"
21
21
self .db_engine = sqlmodel .create_engine (f"sqlite:///{ self .db_path } " , echo = True )
22
22
sqlmodel .SQLModel .metadata .create_all (self .db_engine )
23
+ self .db_session = self .get_session ()
23
24
24
25
def get_session (self ):
25
- return sqlmodel .Session (self .db_engine )
26
+ return sqlmodel .Session (
27
+ self .db_engine ,
28
+ expire_on_commit = False ,
29
+ )
26
30
27
31
def clear_database (self ):
28
32
"""
@@ -32,11 +36,6 @@ def clear_database(self):
32
36
self .db_engine = sqlmodel .create_engine (f"sqlite:///{ self .db_path } " , echo = True )
33
37
sqlmodel .SQLModel .metadata .create_all (self .db_engine )
34
38
35
- def get_user (self ):
36
- with self .get_session () as session :
37
- user = session .exec (sqlmodel .select (model .User )).one ()
38
- return user
39
-
40
39
def store_all (self , entities ):
41
40
"""Store a collection of entities in the database."""
42
41
with self .get_session () as session :
@@ -53,11 +52,19 @@ def retrieve_all(self, entity_type):
53
52
54
53
@property
55
54
def contracts (self ):
56
- with self .get_session () as session :
57
- contracts = session .exec (
58
- sqlmodel .select (model .Contract ),
59
- ).all ()
60
- return contracts
55
+ contracts = self .db_session .exec (
56
+ sqlmodel .select (model .Contract ),
57
+ ).all ()
58
+ return contracts
61
59
60
+ @property
61
+ def projects (self ):
62
+ contracts = self .db_session .exec (
63
+ sqlmodel .select (model .Project ),
64
+ ).all ()
65
+ return contracts
62
66
63
- the_app = App ()
67
+ @property
68
+ def user (self ):
69
+ user = self .db_session .exec (sqlmodel .select (model .User )).one ()
70
+ return user
0 commit comments