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():
        # Clear out any existing tables
        metadata = MetaData(_db.engine)
        metadata.reflect()
        metadata.drop_all()
        _db.drop_all()
        sequence_sql = """SELECT sequence_name FROM information_schema.sequences
                          WHERE sequence_schema='public'
                       """
        sess = _db.session()
        for seq in [name for (name,) in sess.execute(text(sequence_sql))]:
            try:
                sess.execute(text('DROP SEQUENCE public.%s ;' % seq))
                print('DROP SEQUENCE public.%s ' % seq)
            except Exception as err:  # pylint: disable=broad-except  # noqa: B902
                print(f'Error: {err}')
        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 needs
        legal_api_dir = os.path.abspath('..').replace('queue_services', 'legal-api')
        legal_api_dir = os.path.join(legal_api_dir, 'migrations')
        Migrate(app, _db, directory=legal_api_dir)
        upgrade()
        return _db