Flask-Alchemy is designed to work with SQLAlchemy default declarative_base, with powerful master-slave and separated databases support.
Flask-Alchemy is designed to work with plain SQLAlchemy models, if describe it in code, a plain model should be something like:
from sqlalchemy import Column, Integer, String from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() class User(Base): __tablename__ = 'user' id = Column(Integer, primary_key=True) name = Column(String(20))
And then we can register the
Base with Flask-Alchemy:
from your_project import app from flask_alchemy import Alchemy db = Alchemy(app) db.register_base(Base)
User module can query like:
baba = User.query.filter_by(name='baba').first()
Flask-Alchemy is more than that, it can bind each table to its own database, it can send the SELECT query to your slave databases.