2017-07-10 4 views
0

Je suis en train de créer une application flask simple. Je souhaite la session de serveur de stockage dans la baseFlask-Session ne crée pas de table de session si l'interface de session est SQLAlchemySessionInterface

from flask import Flask 
from flask_migrate import Migrate, MigrateCommand 
from flask_script import Manager 
from flask_session import Session 
from flask_sqlalchemy import SQLAlchemy 

app = Flask(__name__) 
app.config[ 'SQLALCHEMY_DATABASE_URI' ] = 'sqlite://' 
app.config[ 'SESSION_TYPE' ] = 'sqlalchemy' 

db = SQLAlchemy(app) 

Session(app) 
Migrate(app, db) 

manager = Manager(app) 
manager.add_command('db', MigrateCommand) 


class User(db.Model): 
    id = db.Column(db.Integer, primary_key=True) 
    name = db.Column(db.String(50)) 


if __name__ == '__main__': 
    manager.run() 

quand j'utilise flacon cli pour db init, table de session ne créé:

flask db init 
flask db migrate 

partie de migrate-file:

def upgrade(): 
    # ### commands auto generated by Alembic - please adjust! ### 
    op.create_table('user', 
    sa.Column('id', sa.Integer(), nullable=False), 
    sa.Column('name', sa.String(length=50), nullable=True), 
    sa.PrimaryKeyConstraint('id') 
    ) 
    # ### end Alembic commands ### 
Table

' session 'est manquant

Répondre

0

J'ai eu le même problème moi-même. Il est résolu here.

Vous pouvez créer la table de session avec la ligne suivante:

session.app.session_interface.db.create_all()