@@ -439,23 +439,27 @@ def __init__(self, app, db, table, key_prefix, use_signer=False):
439439 self .key_prefix = key_prefix
440440 self .use_signer = use_signer
441441
442- class Session (self .db .Model ):
443- __tablename__ = table
442+ if table not in self .db .metadata :
444443
445- id = self .db .Column (self .db .Integer , primary_key = True )
446- session_id = self .db .Column (self .db .String (256 ), unique = True )
447- data = self .db .Column (self .db .Text )
448- expiry = self .db .Column (self .db .DateTime )
444+ class Session (self .db .Model ):
445+ __tablename__ = table
449446
450- def __init__ (self , session_id , data , expiry ):
451- self . session_id = session_id
452- self . data = data
453- self . expiry = expiry
447+ id = self . db . Column (self . db . Integer , primary_key = True )
448+ session_id = self . db . Column ( self . db . String ( 256 ), unique = True )
449+ data = self . db . Column ( self . db . Text )
450+ expiry = self . db . Column ( self . db . DateTime )
454451
455- def __repr__ (self ):
456- return '<Session data %s>' % self .data
452+ def __init__ (self , session_id , data , expiry ):
453+ self .session_id = session_id
454+ self .data = data
455+ self .expiry = expiry
457456
458- self .sql_session_model = Session
457+ def __repr__ (self ):
458+ return '<Session data %s>' % self .data
459+
460+ self .sql_session_model = db .session_ext_session_model = Session
461+ else :
462+ self .sql_session_model = db .session_ext_session_model
459463
460464 def open_session (self , app , request ):
461465 sid = request .cookies .get (app .session_cookie_name )
0 commit comments