from os import getenv from dotenv import load_dotenv from peewee import * from datetime import datetime, timedelta load_dotenv('.env') db = PostgresqlDatabase( 'trader', user=getenv('DB_USER'), password=getenv('DB_PASS'), host=getenv('DB_HOST', '127.0.0.1'), port=getenv('DB_PORT', 5432) ) def get_time(): now = datetime.now() now = now + timedelta(hours=7) return now class Ticker(Model): id = AutoField() trade_pair = CharField() initial_price = DoubleField() current_price = DoubleField() high_price = DoubleField() low_price = DoubleField() volume = DoubleField() bid = DoubleField() ask = DoubleField() spread_btc = DoubleField() spread_sats = IntegerField() spread_perc = DoubleField() date = DateTimeField(default=get_time) class Meta: database = db class Balance(Model): total = DoubleField() available = DoubleField() currency = CharField() date = DateTimeField(default=get_time) class Meta: database = db class Order(Model): trade_pair = CharField() trade_type = CharField() buy = BooleanField() quantity = DoubleField() price = DoubleField() uuid = TextField() active = BooleanField(default=True) cancelled = BooleanField(default=False) date = DateTimeField(default=get_time) class Meta: database = db # class Trade(Model): # id = AutoField() # title = CharField() # text = CharField() # submitter = CharField() # image_name = CharField() # readonly = BooleanField(default=False) # hidden = BooleanField(default=False) # account_index = DoubleField() # address_index = DoubleField() # timestamp = DateTimeField(default=datetime.now) # # class Meta: # database = db db.create_tables([Ticker, Balance, Order])