mock store tables stubbed in db schema

This commit is contained in:
2026-01-21 20:15:44 -07:00
parent 321bc6fc00
commit b182685ec3
5 changed files with 476 additions and 13 deletions
@@ -8,9 +8,9 @@ CREATE TABLE sync_groups (
CREATE TABLE sync_group_listings (
sync_group_id INTEGER NOT NULL REFERENCES sync_groups,
order_index INTEGER NOT NULL,
platform platform,
shop_id TEXT,
listing_id TEXT,
platform platform NOT NULL,
shop_id TEXT NOT NULL,
listing_id TEXT NOT NULL,
PRIMARY KEY (sync_group_id, order_index)
);
@@ -0,0 +1,31 @@
BEGIN;
-- mock sync group listings
DROP TABLE mock_sync_group_listings;
DROP TABLE mock_sync_groups;
-- mock stores
DROP TABLE mock_store_ebay;
DROP TABLE mock_store_walmart_marketplace;
DROP TABLE mock_store_amazon;
DROP TABLE mock_store_big_cartel;
DROP TABLE mock_store_ecwid;
DROP TABLE mock_store_zoho;
DROP TABLE mock_store_square_online;
DROP TABLE mock_store_squarespace;
DROP TABLE mock_store_wix;
DROP TABLE mock_store_woo_commerce;
DROP TABLE mock_store_shopify;
DROP TABLE mock_store_tiktok;
-- mock accounts
DROP TABLE mock_accounts;
COMMIT;
@@ -0,0 +1,143 @@
BEGIN;
-- mock accounts
CREATE TABLE mock_accounts (
account_id SERIAL PRIMARY KEY,
user_id TEXT NOT NULL REFERENCES oauth_users (user_id)
);
CREATE UNIQUE INDEX ON mock_accounts (user_id);
CREATE UNIQUE INDEX ON mock_accounts (account_id, user_id);
-- mock stores
CREATE TABLE mock_store_tiktok (
user_id TEXT NOT NULL REFERENCES oauth_users (user_id),
account_id INTEGER NOT NULL REFERENCES mock_accounts (account_id),
store_id TEXT PRIMARY KEY,
name TEXT NOT NULL CHECK (char_length(name) > 0),
FOREIGN KEY (account_id, user_id) REFERENCES mock_accounts (account_id, user_id)
);
CREATE TABLE mock_store_shopify (
user_id TEXT NOT NULL REFERENCES oauth_users (user_id),
account_id INTEGER NOT NULL REFERENCES mock_accounts (account_id),
store_id TEXT PRIMARY KEY,
name TEXT NOT NULL CHECK (char_length(name) > 0),
FOREIGN KEY (account_id, user_id) REFERENCES mock_accounts (account_id, user_id)
);
CREATE TABLE mock_store_woo_commerce (
user_id TEXT NOT NULL REFERENCES oauth_users (user_id),
account_id INTEGER NOT NULL REFERENCES mock_accounts (account_id),
store_id TEXT PRIMARY KEY,
name TEXT NOT NULL CHECK (char_length(name) > 0),
FOREIGN KEY (account_id, user_id) REFERENCES mock_accounts (account_id, user_id)
);
CREATE TABLE mock_store_wix (
user_id TEXT NOT NULL REFERENCES oauth_users (user_id),
account_id INTEGER NOT NULL REFERENCES mock_accounts (account_id),
store_id TEXT PRIMARY KEY,
name TEXT NOT NULL CHECK (char_length(name) > 0),
FOREIGN KEY (account_id, user_id) REFERENCES mock_accounts (account_id, user_id)
);
CREATE TABLE mock_store_squarespace (
user_id TEXT NOT NULL REFERENCES oauth_users (user_id),
account_id INTEGER NOT NULL REFERENCES mock_accounts (account_id),
store_id TEXT PRIMARY KEY,
name TEXT NOT NULL CHECK (char_length(name) > 0),
FOREIGN KEY (account_id, user_id) REFERENCES mock_accounts (account_id, user_id)
);
CREATE TABLE mock_store_square_online (
user_id TEXT NOT NULL REFERENCES oauth_users (user_id),
account_id INTEGER NOT NULL REFERENCES mock_accounts (account_id),
store_id TEXT PRIMARY KEY,
name TEXT NOT NULL CHECK (char_length(name) > 0),
FOREIGN KEY (account_id, user_id) REFERENCES mock_accounts (account_id, user_id)
);
CREATE TABLE mock_store_zoho (
user_id TEXT NOT NULL REFERENCES oauth_users (user_id),
account_id INTEGER NOT NULL REFERENCES mock_accounts (account_id),
store_id TEXT PRIMARY KEY,
name TEXT NOT NULL CHECK (char_length(name) > 0),
FOREIGN KEY (account_id, user_id) REFERENCES mock_accounts (account_id, user_id)
);
CREATE TABLE mock_store_ecwid (
user_id TEXT NOT NULL REFERENCES oauth_users (user_id),
account_id INTEGER NOT NULL REFERENCES mock_accounts (account_id),
store_id TEXT PRIMARY KEY,
name TEXT NOT NULL CHECK (char_length(name) > 0),
FOREIGN KEY (account_id, user_id) REFERENCES mock_accounts (account_id, user_id)
);
CREATE TABLE mock_store_big_cartel (
user_id TEXT NOT NULL REFERENCES oauth_users (user_id),
account_id INTEGER NOT NULL REFERENCES mock_accounts (account_id),
store_id TEXT PRIMARY KEY,
name TEXT NOT NULL CHECK (char_length(name) > 0),
FOREIGN KEY (account_id, user_id) REFERENCES mock_accounts (account_id, user_id)
);
CREATE TABLE mock_store_amazon (
user_id TEXT NOT NULL REFERENCES oauth_users (user_id),
account_id INTEGER NOT NULL REFERENCES mock_accounts (account_id),
store_id TEXT PRIMARY KEY,
name TEXT NOT NULL CHECK (char_length(name) > 0),
FOREIGN KEY (account_id, user_id) REFERENCES mock_accounts (account_id, user_id)
);
CREATE TABLE mock_store_walmart_marketplace (
user_id TEXT NOT NULL REFERENCES oauth_users (user_id),
account_id INTEGER NOT NULL REFERENCES mock_accounts (account_id),
store_id TEXT PRIMARY KEY,
name TEXT NOT NULL CHECK (char_length(name) > 0),
FOREIGN KEY (account_id, user_id) REFERENCES mock_accounts (account_id, user_id)
);
CREATE TABLE mock_store_ebay (
user_id TEXT NOT NULL REFERENCES oauth_users (user_id),
account_id INTEGER NOT NULL REFERENCES mock_accounts (account_id),
store_id TEXT PRIMARY KEY,
name TEXT NOT NULL CHECK (char_length(name) > 0),
FOREIGN KEY (account_id, user_id) REFERENCES mock_accounts (account_id, user_id)
);
-- mock sync group listings
CREATE TABLE mock_sync_groups (
sync_group_id SERIAL PRIMARY KEY,
account_id INTEGER NOT NULL REFERENCES mock_accounts (account_id)
);
CREATE TABLE mock_sync_group_listings (
sync_group_id INTEGER NOT NULL REFERENCES mock_sync_groups (sync_group_id),
order_index INTEGER NOT NULL,
platform platform NOT NULL,
shop_id TEXT NOT NULL,
listing_id TEXT NOT NULL,
PRIMARY KEY (sync_group_id, order_index)
);
COMMIT;