3
3
import tempfile
4
4
import logging
5
5
6
- from sqlalchemy import create_engine
6
+ from sqlalchemy import create_engine , Column , String , Integer , Float
7
+ from sqlalchemy .ext .declarative import declarative_base
7
8
from sqlalchemy .orm import sessionmaker
8
9
9
10
log = logging .getLogger ("dexbot" )
10
11
log .setLevel (logging .DEBUG )
11
12
13
+ Base = declarative_base ()
14
+
15
+ # Classes are represent initial table structure
16
+
17
+
18
+ class Config (Base ):
19
+ __tablename__ = 'config'
20
+
21
+ id = Column (Integer , primary_key = True )
22
+ category = Column (String )
23
+ key = Column (String )
24
+ value = Column (String )
25
+
26
+
27
+ class Orders (Base ):
28
+ __tablename__ = 'orders'
29
+
30
+ id = Column (Integer , primary_key = True )
31
+ worker = Column (String )
32
+ order_id = Column (String )
33
+ order = Column (String )
34
+
35
+
36
+ class Balances (Base ):
37
+ __tablename__ = 'balances'
38
+
39
+ id = Column (Integer , primary_key = True )
40
+ account = Column (String )
41
+ worker = Column (String )
42
+ base_total = Column (Float )
43
+ base_symbol = Column (String )
44
+ quote_total = Column (Float )
45
+ quote_symbol = Column (String )
46
+ center_price = Column (Float )
47
+ timestamp = Column (Integer )
48
+
12
49
13
50
@pytest .fixture
14
51
def initial_db ():
@@ -17,6 +54,7 @@ def initial_db():
17
54
engine = create_engine ('sqlite:///{}' .format (db_file ), echo = False )
18
55
Session = sessionmaker (bind = engine )
19
56
session = Session ()
57
+ Base .metadata .create_all (engine )
20
58
session .commit ()
21
59
log .debug ('Prepared db on {}' .format (db_file ))
22
60
0 commit comments