def run_migrations_online(): # Create a database connection using SQLALCHEMY_URL defined in the # environment. db_url = get_sqlalchemy_url() db = configure_db(uri=db_url, pool=False) with db.engine.connect() as connection: context.configure(connection=connection) with context.begin_transaction(): context.run_migrations()
def create_database(): """Create a database.""" db_url = get_sqlalchemy_url() print("Creating database %s...." % db_url) try: create_db(uri=db_url) except ProgrammingError: print("Database already exists.") return 1 print("Done.")
def drop_database(): """Drop an existing database.""" db_url = get_sqlalchemy_url() print("Dropping database %s...." % db_url) try: drop_db(uri=db_url) except InternalError: print("Database does not exist.") return 1 print("Done.")
def setup_database(): # Create it if it doesn't exist try: create_db() except ProgrammingError: pass # Clean up the tables and set them up db = configure_db(uri=get_sqlalchemy_url()) cleanup_tables(db.engine) setup_tables(db.engine) db.close()
def db(database): db = configure_db(uri=get_sqlalchemy_url()) yield db db.close()
def db_shared_session(database): """Return TestDatabase where db.session() returns the thread-local session.""" db = TestDatabase(uri=get_sqlalchemy_url(), shared=True) yield db db.close()
def db_independent_session(database): """Return TestDatabase where db.session() returns a new session.""" db = TestDatabase(uri=get_sqlalchemy_url()) yield db db.close()
def drop_database(): """Drop an existing database.""" db_url = get_sqlalchemy_url() print("Dropping database %s...." % db_url) drop_db(uri=db_url) print("Done.")