65 lines
1.5 KiB
Python
65 lines
1.5 KiB
Python
|
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])
|