def METHOD_NAME(engine, base=Base, should_create=False, should_drop=False, authority=None):
    """Initialise the database tables managed by `h.db`."""
    # Import models package to populate the metadata
    import h.models  # pylint: disable=unused-import
    if should_drop:
        # SQLAlchemy doesn't know about the report schema, and will end up
        # trying to drop tables without cascade that have dependent tables
        # in the report schema and failing. Clear it out first.
        engine.execute("DROP SCHEMA IF EXISTS report CASCADE")
        base.metadata.reflect(engine)
        base.metadata.drop_all(engine)
    if should_create:
        # In order to be able to generate UUIDs, we load the uuid-ossp
        # extension.
        engine.execute('CREATE EXTENSION IF NOT EXISTS "uuid-ossp";')
        base.metadata.create_all(engine)
    default_org = _maybe_create_default_organization(engine, authority)
    _maybe_create_world_group(engine, authority, default_org)