__init__.py 2.09 KB
Newer Older
wanli's avatar
wanli committed
1 2 3
'''
Author: your name
Date: 2021-04-22 18:04:10
wanli's avatar
wanli committed
4
LastEditTime: 2021-07-22 03:15:23
wanli's avatar
wanli committed
5 6 7 8
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \evm-store\tools\resources\models\__init__.py
'''
wanli's avatar
wanli committed
9
# -*- coding: utf-8 -*-
wanli's avatar
wanli committed
10
from sqlalchemy import create_engine
11
from sqlalchemy import Column, Integer, String
wanli's avatar
wanli committed
12
from sqlalchemy.orm import sessionmaker
wanli's avatar
wanli committed
13
from sqlalchemy.ext.declarative import declared_attr, declarative_base
wanli's avatar
wanli committed
14
from application.app import config
wanli's avatar
wanli committed
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37

class BaseModelMixin(object):
    @declared_attr
    def __tablename__(self):
        return self.__name__.lower()

    # __table_args__ = {'mysql_engine': 'InnoDB'}

    id = Column(Integer, primary_key=True)

BaseModel = declarative_base(cls=BaseModelMixin)

class MyMixin(object):
    @declared_attr
    def __tablename__(self):
        return self.__name__.lower()

    # __table_args__ = {'mysql_engine': 'InnoDB'}
    __mapper_args__= {'always_refresh': True}

    id = Column(Integer, primary_key=True)

class MyModel(MyMixin, BaseModel):
wanli's avatar
wanli committed
38 39 40 41 42 43 44 45 46 47 48 49 50 51
    __tablename__ = 'evm_store_app_logs'
    app_name = Column(String(20))
    app_path = Column(String(32))
    app_version = Column(String(32))
    app_info = Column(String(32))
    create_at = Column(String(32))
    create_by = Column(Integer())

class MyModel2(MyMixin, BaseModel):
    __tablename__ = 'monitor_request'
    host = Column(String(32))
    path = Column(String(32))
    protocol = Column(String(32))
    create_at = Column(String(32))
wanli's avatar
wanli committed
52 53

# if __name__ == "__main__":
wanli's avatar
wanli committed
54
engine = create_engine(config.SQLALCHEMY_DATABASE_URI)
wanli's avatar
wanli committed
55 56 57 58 59 60

BaseModel.metadata.create_all(engine, checkfirst=True)

Session = sessionmaker(bind=engine)
session = Session()

wanli's avatar
wanli committed
61 62 63 64 65 66 67 68 69 70 71
# ed_user = MyModel(name='ed', fullname='Ed Jones', password='edspassword')
# session.add(ed_user)

# session.add_all(
#     [
#         MyModel(name='wendy', fullname='Wendy Williams', password='foobar'),
#         MyModel(name='mary', fullname='Mary Contrary', password='xxg527'),
#         MyModel(name='fred', fullname='Fred Flinstone', password='blah')
#     ]
# )
# session.commit()
wanli's avatar
wanli committed
72

73
# our_user = session.query(MyModel).filter_by(name='ed').first()
wanliofficial's avatar
wanliofficial committed
74
# print(our_user)