pythonflask-sqlalchemy

how to reflect an existing table by using flask_sqlalchemy


I have noticed a method:

db.reflect(bind='__all__',app=app)

but I wonder how to use it.
I'd appreciate it if you can help.


Solution

  • from flask import Flask
    from flask_sqlalchemy import SQLAlchemy
    
    app = Flask(__name__)
    app.config['SQLALCHEMY_DATABASE_URI'] = 'database connect url'
    app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
    db = SQLAlchemy(app)
    db.Model.metadata.reflect(bind=db.engine,schema='DATABASE_NAME')
    
    class User(db.Model):
        '''deal with an existing table'''
        __table__ = db.Model.metadata.tables['DATABASE_NAME.TABLE_NAME']
    
    u = User.query.all()
    print(u)
    db.commit()