-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmodels.py
48 lines (42 loc) · 1.7 KB
/
models.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import datetime
from sqlalchemy import Column, DateTime, Float, Integer, Numeric, String
from sqlalchemy.types import JSON
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class FundDetail(Base):
__tablename__ = 'fund_details'
code = Column(String(10), primary_key=True)
name = Column(String(100))
type = Column(String(20))
net_worth = Column(Float)
expect_worth = Column(Float)
total_worth = Column(Float)
expect_growth = Column(String(10))
day_growth = Column(String(10))
last_week_growth = Column(String(10))
last_month_growth = Column(String(10))
last_three_months_growth = Column(String(10))
last_six_months_growth = Column(String(10))
last_year_growth = Column(String(10))
buy_min = Column(Float)
buy_source_rate = Column(Float)
buy_rate = Column(Float)
manager = Column(String(50))
fund_scale = Column(String(50))
worth_date = Column(DateTime)
expect_worth_date = Column(DateTime)
million_copies_income = Column(Float)
million_copies_income_date = Column(DateTime)
seven_days_year_income = Column(Float)
history_data = Column(JSON)
deleted_at = Column(DateTime, nullable=True, default=None)
class UserFund(Base):
__tablename__ = 'user_funds'
id = Column(Integer, primary_key=True)
user_id = Column(Integer, index=True) # 添加索引
fund_code = Column(String(10))
created_at = Column(DateTime, default=datetime.datetime.now())
subscribed_at = Column(DateTime, index=True, default=datetime.datetime.now())
unsubscribed_at = Column(DateTime, nullable=True, default=None)
shares = Column(Numeric, default=0.00)
fund_name = Column(String, nullable=True)