def METHOD_NAME(app):  # pylint: disable=redefined-outer-name, invalid-name
    """Return a session-wide initialised database.
    Drops all existing tables - Meta follows Postgres FKs
    """
    with app.app_context():
        drop_schema_sql = """DROP SCHEMA public CASCADE;
                                     CREATE SCHEMA public;
                                     GRANT ALL ON SCHEMA public TO postgres;
                                     GRANT ALL ON SCHEMA public TO public;
                                  """
        sess = _db.session()
        sess.execute(drop_schema_sql)
        sess.commit()
        # ############################################
        # There are 2 approaches, an empty database, or the same one that the app will use
        #     create the tables
        #     _db.create_all()
        # or
        # Use Alembic to load all of the DB revisions including supporting lookup data
        # This is the path we'll use in legal_api!!
        # even though this isn't referenced directly, it sets up the internal configs that upgrade
        import sys
        auth_api_folder = [folder for folder in sys.path if 'auth-api' in folder][0]
        migration_path = auth_api_folder.replace('/auth-api/src', '/auth-api/migrations')
        Migrate(app, _db, directory=migration_path)
        upgrade()
        return _db