mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-16 14:33:00 +00:00
allow resetting the database
This commit is contained in:
@@ -337,7 +337,6 @@ class Token(object):
|
|||||||
return db.query(cls).filter(cls.token==token).first()
|
return db.query(cls).filter(cls.token==token).first()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class APIToken(Token, Base):
|
class APIToken(Token, Base):
|
||||||
"""An API token"""
|
"""An API token"""
|
||||||
__tablename__ = 'api_tokens'
|
__tablename__ = 'api_tokens'
|
||||||
@@ -348,13 +347,15 @@ class CookieToken(Token, Base):
|
|||||||
__tablename__ = 'cookie_tokens'
|
__tablename__ = 'cookie_tokens'
|
||||||
|
|
||||||
|
|
||||||
def new_session(url="sqlite:///:memory:", **kwargs):
|
def new_session(url="sqlite:///:memory:", reset=False, **kwargs):
|
||||||
"""Create a new session at url"""
|
"""Create a new session at url"""
|
||||||
kwargs.setdefault('connect_args', {'check_same_thread': False})
|
kwargs.setdefault('connect_args', {'check_same_thread': False})
|
||||||
kwargs.setdefault('poolclass', StaticPool)
|
kwargs.setdefault('poolclass', StaticPool)
|
||||||
engine = create_engine(url, **kwargs)
|
engine = create_engine(url, **kwargs)
|
||||||
Session = sessionmaker(bind=engine)
|
Session = sessionmaker(bind=engine)
|
||||||
session = Session()
|
session = Session()
|
||||||
|
if reset:
|
||||||
|
Base.metadata.drop_all(engine)
|
||||||
Base.metadata.create_all(engine)
|
Base.metadata.create_all(engine)
|
||||||
return session
|
return session
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user