def apply_migrations(): """Applies all alembic migrations.""" alembic_config = os.path.join(os.path.dirname(__file__), "../", "alembic.ini") config = alembic.config.Config(alembic_config) app_config = make_config() config.set_main_option("sqlalchemy.url", app_config["SQLALCHEMY_DATABASE_URI"]) alembic.command.upgrade(config, "head")
def app(request): config = make_config() test_config = {**config, "SERVER_NAME": "flasky"} app = make_flask_app(test_config) # Establish an application context before running the tests. ctx = app.app_context() ctx.push() def teardown(): ctx.pop() request.addfinalizer(teardown) return app
from sqlalchemy.orm import sessionmaker from flasky.app import make_config, make_engine from flasky.models import * from test.factories import * session = sessionmaker(bind=make_engine(make_config()))() print( "\nWelcome to Flasky. This shell has all models in scope, and a SQLAlchemy session called session." )
def engine(): config = make_config() engine = create_engine(config["SQLALCHEMY_DATABASE_URI"]) apply_migrations() yield engine
config = context.config # Interpret the config file for Python logging. # This line sets up loggers basically. fileConfig(config.config_file_name) import sys from unipath import Path parent_dir = Path(__file__).parent.parent sys.path.append(parent_dir) from flasky.app import make_config, make_flask_app app_config = make_config() make_flask_app(app_config) config.set_main_option("sqlalchemy.url", app_config["SQLALCHEMY_DATABASE_URI"]) from flasky import models # add your model's MetaData object here # for 'autogenerate' support # from myapp import mymodel # target_metadata = mymodel.Base.metadata target_metadata = models.Base.metadata # other values from the config, defined by the needs of env.py, # can be acquired: # my_important_option = config.get_main_option("my_important_option")