You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
totrader/db.py

65 lines
1.5 KiB

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 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])