@pytest.yield_fixture
def orders(url, products):
    try:
        orders = data(url % 'orders',
                      dshape="""var * {
                        order_id: int64,
                        product_id: map[int64, T],
                        quantity: int64}""",
                      foreign_keys=dict(product_id=products.data.c.product_id),
                      primary_key=['order_id'])
    except sa.exc.OperationalError as e:
        pytest.skip(str(e))
    else:
        try:
            yield orders
        finally:
            drop(orders)


# TODO: scope these as module because I think pytest is caching sa.Table, which
# doesn't work if remove it after every run
dataset/ETHPy150Open blaze/blaze/blaze/compute/tests/test_postgresql_compute.py/orders/original