# -*- coding: utf-8 -*- from sqlalchemy import Column, Integer, String from sqlalchemy.ext.declarative import declared_attr from sqlalchemy.ext.declarative import declarative_base from flask_sqlalchemy import SQLAlchemy class Base(object): @declared_attr def __tablename__(cls): return cls.__name__.lower() __table_args__ = {'mysql_engine': 'InnoDB'} id = Column(Integer, primary_key=True) Base = declarative_base(cls=Base) class MyMixin(object): @declared_attr def __tablename__(cls): return cls.__name__.lower() __table_args__ = {'mysql_engine': 'InnoDB'} __mapper_args__= {'always_refresh': True} id = Column(Integer, primary_key=True) class MyModel(MyMixin, Base): name = Column(String(1000))
db = SQLAlchemy()