feat: add manager table orm
parent
e47da7bbff
commit
e1eb7d25cb
@ -0,0 +1,13 @@
|
|||||||
|
'''
|
||||||
|
Desc:
|
||||||
|
File: /__init__.py
|
||||||
|
Project: models
|
||||||
|
File Created: Saturday, 27th August 2022 12:24:17 pm
|
||||||
|
Author: luxuemin2108@gmail.com
|
||||||
|
-----
|
||||||
|
Copyright (c) 2022 Camel Lu
|
||||||
|
'''
|
||||||
|
|
||||||
|
print('--models init--');
|
||||||
|
|
||||||
|
import fund
|
@ -0,0 +1,24 @@
|
|||||||
|
'''
|
||||||
|
Desc:
|
||||||
|
File: /fund.py
|
||||||
|
Project: models
|
||||||
|
File Created: Saturday, 27th August 2022 11:47:51 am
|
||||||
|
Author: luxuemin2108@gmail.com
|
||||||
|
-----
|
||||||
|
Copyright (c) 2022 Camel Lu
|
||||||
|
'''
|
||||||
|
import sys
|
||||||
|
sys.path.append('./src')
|
||||||
|
|
||||||
|
from sqlalchemy import Table
|
||||||
|
from models.var import prefix, ORM_Base, engine
|
||||||
|
|
||||||
|
fund_table_base = prefix + 'base'
|
||||||
|
|
||||||
|
fund_table = Table(fund_table_base, ORM_Base.metadata, autoload=True, autoload_with=engine)
|
||||||
|
|
||||||
|
class Fund(ORM_Base):
|
||||||
|
__table__ = fund_table
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return f"Fund Base(id={self.id!r}, name={self.fund_code!r}, manager_id={self.fund_name!r})"
|
@ -0,0 +1,49 @@
|
|||||||
|
'''
|
||||||
|
Desc:
|
||||||
|
File: /manager.py
|
||||||
|
Project: models
|
||||||
|
File Created: Thursday, 25th August 2022 10:21:22 pm
|
||||||
|
Author: luxuemin2108@gmail.com
|
||||||
|
-----
|
||||||
|
Copyright (c) 2022 Camel Lu
|
||||||
|
'''
|
||||||
|
import sys
|
||||||
|
sys.path.append('./src')
|
||||||
|
|
||||||
|
from sqlalchemy.orm import Session, registry, relationship, aliased
|
||||||
|
from sqlalchemy import DATE, MetaData, Table, Column, Integer, BigInteger, String, ForeignKey, select
|
||||||
|
from db.engine import get_engine
|
||||||
|
from models.var import prefix, ORM_Base, engine
|
||||||
|
|
||||||
|
manager_table_name = prefix + 'manager'
|
||||||
|
manager_table = Table(manager_table_name, ORM_Base.metadata, autoload=True, autoload_with=engine)
|
||||||
|
|
||||||
|
class Manager(ORM_Base):
|
||||||
|
__table__ = manager_table
|
||||||
|
# managerAssoc = relationship("ManagerAssoc", back_populates="manager")
|
||||||
|
def __repr__(self):
|
||||||
|
return f"Manager(id={self.id!r}, name={self.name!r}, manager_id={self.manager_id!r})"
|
||||||
|
|
||||||
|
class ManagerAssoc(ORM_Base):
|
||||||
|
__tablename__ = prefix + 'manager_assoc'
|
||||||
|
manager_key = manager_table_name + '.manager_id'
|
||||||
|
id = Column(BigInteger, primary_key=True)
|
||||||
|
quarter_index = Column(String(12))
|
||||||
|
manager_id = Column(String(32), ForeignKey(manager_key))
|
||||||
|
fund_code_key = prefix + 'base' + '.fund_code'
|
||||||
|
fund_code= Column(String(10), ForeignKey(fund_code_key))
|
||||||
|
# manager = relationship('Manager', backref='manager_assoc')
|
||||||
|
# fund_base = relationship("Fund", backref="manager_assoc")
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return f"ManagerAssoc(id={self.id!r}, name={self.manager_id!r}, fullname={self.fund_code_id!r})"
|
||||||
|
|
||||||
|
def create():
|
||||||
|
ORM_Base.metadata.create_all(engine)
|
||||||
|
# mapper_registry.metadata.create_all(engine)
|
||||||
|
# ManagerAssoc.__table__.drop(engine)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
create()
|
||||||
|
# demo()
|
@ -0,0 +1,16 @@
|
|||||||
|
'''
|
||||||
|
Desc: 变量配置
|
||||||
|
File: /config.py
|
||||||
|
Project: models
|
||||||
|
File Created: Saturday, 27th August 2022 12:20:04 pm
|
||||||
|
Author: luxuemin2108@gmail.com
|
||||||
|
-----
|
||||||
|
Copyright (c) 2022 Camel Lu
|
||||||
|
'''
|
||||||
|
from db.engine import get_engine, get_orm_base
|
||||||
|
|
||||||
|
ORM_Base = get_orm_base()
|
||||||
|
|
||||||
|
prefix = 'fund_morning_'
|
||||||
|
|
||||||
|
engine = get_engine(echo=True)
|
Loading…
Reference in New Issue