One database per shop. Not a column in a shared table.
Every shop runs on its own isolated SQLite database at the edge, provisioned through Workers-for-Platforms. A thousand shops is a thousand databases — there is no query that can join across them, because there is no shared table to join. Isolation by architecture, not by a WHERE shop_id = someone hopes nobody forgets.