mock events db schema
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
BEGIN;
|
||||
|
||||
|
||||
--- event processing
|
||||
|
||||
DROP TRIGGER amazon_store_events ON mock.raw_shop_events;
|
||||
DROP FUNCTION mock.process_raw_amazon_event;
|
||||
|
||||
DROP TRIGGER big_cartel_store_events ON mock.raw_shop_events;
|
||||
DROP FUNCTION mock.process_raw_big_cartel_event;
|
||||
|
||||
DROP TRIGGER ebay_store_events ON mock.raw_shop_events;
|
||||
DROP FUNCTION mock.process_raw_ebay_event;
|
||||
|
||||
DROP TRIGGER ecwid_store_events ON mock.raw_shop_events;
|
||||
DROP FUNCTION mock.process_raw_ecwid_event;
|
||||
|
||||
DROP TRIGGER etsy_store_events ON mock.raw_shop_events;
|
||||
DROP FUNCTION mock.process_raw_etsy_event;
|
||||
|
||||
DROP TRIGGER shopify_store_events ON mock.raw_shop_events;
|
||||
DROP FUNCTION mock.process_raw_shopify_event;
|
||||
|
||||
DROP TRIGGER square_online_store_events ON mock.raw_shop_events;
|
||||
DROP FUNCTION mock.process_raw_square_online_event;
|
||||
|
||||
DROP TRIGGER squarespace_store_events ON mock.raw_shop_events;
|
||||
DROP FUNCTION mock.process_raw_squarespace_event;
|
||||
|
||||
DROP TRIGGER tiktok_store_events ON mock.raw_shop_events;
|
||||
DROP FUNCTION mock.process_raw_tiktok_event;
|
||||
|
||||
DROP TRIGGER walmart_marketplace_store_events ON mock.raw_shop_events;
|
||||
DROP FUNCTION mock.process_raw_walmart_marketplace_event;
|
||||
|
||||
DROP TRIGGER wix_store_events ON mock.raw_shop_events;
|
||||
DROP FUNCTION mock.process_raw_wix_event;
|
||||
|
||||
DROP TRIGGER woo_commerce_store_events ON mock.raw_shop_events;
|
||||
DROP FUNCTION mock.process_raw_woo_commerce_event;
|
||||
|
||||
DROP TRIGGER zoho_store_events ON mock.raw_shop_events;
|
||||
DROP FUNCTION mock.process_raw_zoho_event;
|
||||
|
||||
-- event tables
|
||||
|
||||
DROP TABLE mock.shop_amazon_events;
|
||||
DROP TABLE mock.shop_big_cartel_events;
|
||||
DROP TABLE mock.shop_ebay_events;
|
||||
DROP TABLE mock.shop_ecwid_events;
|
||||
DROP TABLE mock.shop_etsy_events;
|
||||
DROP TABLE mock.shop_shopify_events;
|
||||
DROP TABLE mock.shop_square_online_events;
|
||||
DROP TABLE mock.shop_squarespace_events;
|
||||
DROP TABLE mock.shop_tiktok_events;
|
||||
DROP TABLE mock.shop_walmart_marketplace_events;
|
||||
DROP TABLE mock.shop_wix_events;
|
||||
DROP TABLE mock.shop_woo_commerce_events;
|
||||
DROP TABLE mock.shop_zoho_events;
|
||||
DROP TABLE mock.raw_shop_events;
|
||||
|
||||
|
||||
COMMIT;
|
||||
@@ -0,0 +1,465 @@
|
||||
BEGIN;
|
||||
|
||||
|
||||
-- raw store events
|
||||
|
||||
CREATE TABLE mock.raw_shop_events (
|
||||
platform TEXT NOT NULL,
|
||||
store_id TEXT NOT NULL,
|
||||
event_timestamp TIMESTAMPTZ NOT NULL,
|
||||
event_id TEXT NOT NULL,
|
||||
raw_payload JSONB NOT NULL,
|
||||
parsed BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
|
||||
PRIMARY KEY (platform, store_id, event_id, event_timestamp)
|
||||
);
|
||||
|
||||
|
||||
-- processed event tables
|
||||
|
||||
CREATE TABLE mock.shop_amazon_events (
|
||||
platform TEXT NOT NULL DEFAULT 'amazon' CHECK (platform = 'amazon'),
|
||||
store_id TEXT NOT NULL,
|
||||
event_timestamp TIMESTAMPTZ NOT NULL,
|
||||
event_id TEXT NOT NULL,
|
||||
|
||||
PRIMARY KEY (store_id, event_id, event_timestamp),
|
||||
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
|
||||
);
|
||||
|
||||
CREATE TABLE mock.shop_big_cartel_events (
|
||||
platform TEXT NOT NULL DEFAULT 'big_cartel' CHECK (platform = 'big_cartel'),
|
||||
store_id TEXT NOT NULL,
|
||||
event_timestamp TIMESTAMPTZ NOT NULL,
|
||||
event_id TEXT NOT NULL,
|
||||
|
||||
PRIMARY KEY (store_id, event_id, event_timestamp),
|
||||
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
|
||||
);
|
||||
|
||||
CREATE TABLE mock.shop_ebay_events (
|
||||
platform TEXT NOT NULL DEFAULT 'ebay' CHECK (platform = 'ebay'),
|
||||
store_id TEXT NOT NULL,
|
||||
event_timestamp TIMESTAMPTZ NOT NULL,
|
||||
event_id TEXT NOT NULL,
|
||||
|
||||
PRIMARY KEY (store_id, event_id, event_timestamp),
|
||||
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
|
||||
);
|
||||
|
||||
CREATE TABLE mock.shop_ecwid_events (
|
||||
platform TEXT NOT NULL DEFAULT 'ecwid' CHECK (platform = 'ecwid'),
|
||||
store_id TEXT NOT NULL,
|
||||
event_timestamp TIMESTAMPTZ NOT NULL,
|
||||
event_id TEXT NOT NULL,
|
||||
|
||||
PRIMARY KEY (store_id, event_id, event_timestamp),
|
||||
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
|
||||
);
|
||||
|
||||
CREATE TABLE mock.shop_etsy_events (
|
||||
platform TEXT NOT NULL DEFAULT 'etsy' CHECK (platform = 'etsy'),
|
||||
store_id TEXT NOT NULL,
|
||||
event_timestamp TIMESTAMPTZ NOT NULL,
|
||||
event_id TEXT NOT NULL,
|
||||
|
||||
PRIMARY KEY (store_id, event_id, event_timestamp),
|
||||
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
|
||||
);
|
||||
|
||||
CREATE TABLE mock.shop_shopify_events (
|
||||
platform TEXT NOT NULL DEFAULT 'shopify' CHECK (platform = 'shopify'),
|
||||
store_id TEXT NOT NULL,
|
||||
event_timestamp TIMESTAMPTZ NOT NULL,
|
||||
event_id TEXT NOT NULL,
|
||||
|
||||
PRIMARY KEY (store_id, event_id, event_timestamp),
|
||||
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
|
||||
);
|
||||
|
||||
CREATE TABLE mock.shop_square_online_events (
|
||||
platform TEXT NOT NULL DEFAULT 'square_online' CHECK (platform = 'square_online'),
|
||||
store_id TEXT NOT NULL,
|
||||
event_timestamp TIMESTAMPTZ NOT NULL,
|
||||
event_id TEXT NOT NULL,
|
||||
|
||||
PRIMARY KEY (store_id, event_id, event_timestamp),
|
||||
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
|
||||
);
|
||||
|
||||
CREATE TABLE mock.shop_squarespace_events (
|
||||
platform TEXT NOT NULL DEFAULT 'squarespace' CHECK (platform = 'squarespace'),
|
||||
store_id TEXT NOT NULL,
|
||||
event_timestamp TIMESTAMPTZ NOT NULL,
|
||||
event_id TEXT NOT NULL,
|
||||
|
||||
PRIMARY KEY (store_id, event_id, event_timestamp),
|
||||
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
|
||||
);
|
||||
|
||||
CREATE TABLE mock.shop_tiktok_events (
|
||||
platform TEXT NOT NULL DEFAULT 'tiktok' CHECK (platform = 'tiktok'),
|
||||
store_id TEXT NOT NULL,
|
||||
event_timestamp TIMESTAMPTZ NOT NULL,
|
||||
event_id TEXT NOT NULL,
|
||||
|
||||
PRIMARY KEY (store_id, event_id, event_timestamp),
|
||||
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
|
||||
);
|
||||
|
||||
CREATE TABLE mock.shop_walmart_marketplace_events (
|
||||
platform TEXT NOT NULL DEFAULT 'walmart_marketplace' CHECK (platform = 'walmart_marketplace'),
|
||||
store_id TEXT NOT NULL,
|
||||
event_timestamp TIMESTAMPTZ NOT NULL,
|
||||
event_id TEXT NOT NULL,
|
||||
|
||||
PRIMARY KEY (store_id, event_id, event_timestamp),
|
||||
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
|
||||
);
|
||||
|
||||
CREATE TABLE mock.shop_wix_events (
|
||||
platform TEXT NOT NULL DEFAULT 'wix' CHECK (platform = 'wix'),
|
||||
store_id TEXT NOT NULL,
|
||||
event_timestamp TIMESTAMPTZ NOT NULL,
|
||||
event_id TEXT NOT NULL,
|
||||
|
||||
PRIMARY KEY (store_id, event_id, event_timestamp),
|
||||
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
|
||||
);
|
||||
|
||||
CREATE TABLE mock.shop_woo_commerce_events (
|
||||
platform TEXT NOT NULL DEFAULT 'woo_commerce' CHECK (platform = 'woo_commerce'),
|
||||
store_id TEXT NOT NULL,
|
||||
event_timestamp TIMESTAMPTZ NOT NULL,
|
||||
event_id TEXT NOT NULL,
|
||||
|
||||
PRIMARY KEY (store_id, event_id, event_timestamp),
|
||||
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
|
||||
);
|
||||
|
||||
CREATE TABLE mock.shop_zoho_events (
|
||||
platform TEXT NOT NULL DEFAULT 'zoho' CHECK (platform = 'zoho'),
|
||||
store_id TEXT NOT NULL,
|
||||
event_timestamp TIMESTAMPTZ NOT NULL,
|
||||
event_id TEXT NOT NULL,
|
||||
|
||||
PRIMARY KEY (store_id, event_id, event_timestamp),
|
||||
FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES mock.raw_shop_events
|
||||
);
|
||||
|
||||
|
||||
--- event processing
|
||||
|
||||
CREATE OR REPLACE FUNCTION mock.process_raw_amazon_event() RETURNS TRIGGER AS $process_raw_amazon_event$
|
||||
BEGIN
|
||||
INSERT INTO mock.shop_amazon_events (
|
||||
platform,
|
||||
store_id,
|
||||
event_timestamp,
|
||||
event_id
|
||||
)
|
||||
SELECT
|
||||
NEW.platform,
|
||||
NEW.store_id,
|
||||
NEW.event_timestamp,
|
||||
NEW.event_id;
|
||||
RETURN NULL;
|
||||
END;
|
||||
$process_raw_amazon_event$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE OR REPLACE TRIGGER amazon_store_events
|
||||
AFTER INSERT ON mock.raw_shop_events
|
||||
FOR EACH ROW
|
||||
WHEN (NEW.platform = 'amazon')
|
||||
EXECUTE FUNCTION mock.process_raw_amazon_event();
|
||||
|
||||
|
||||
CREATE OR REPLACE FUNCTION mock.process_raw_big_cartel_event() RETURNS TRIGGER AS $process_raw_big_cartel_event$
|
||||
BEGIN
|
||||
INSERT INTO mock.shop_big_cartel_events (
|
||||
platform,
|
||||
store_id,
|
||||
event_timestamp,
|
||||
event_id
|
||||
)
|
||||
SELECT
|
||||
NEW.platform,
|
||||
NEW.store_id,
|
||||
NEW.event_timestamp,
|
||||
NEW.event_id;
|
||||
RETURN NULL;
|
||||
END;
|
||||
$process_raw_big_cartel_event$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE OR REPLACE TRIGGER big_cartel_store_events
|
||||
AFTER INSERT ON mock.raw_shop_events
|
||||
FOR EACH ROW
|
||||
WHEN (NEW.platform = 'big_cartel')
|
||||
EXECUTE FUNCTION mock.process_raw_big_cartel_event();
|
||||
|
||||
|
||||
CREATE OR REPLACE FUNCTION mock.process_raw_ebay_event() RETURNS TRIGGER AS $process_raw_ebay_event$
|
||||
BEGIN
|
||||
INSERT INTO mock.shop_ebay_events (
|
||||
platform,
|
||||
store_id,
|
||||
event_timestamp,
|
||||
event_id
|
||||
)
|
||||
SELECT
|
||||
NEW.platform,
|
||||
NEW.store_id,
|
||||
NEW.event_timestamp,
|
||||
NEW.event_id;
|
||||
RETURN NULL;
|
||||
END;
|
||||
$process_raw_ebay_event$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE OR REPLACE TRIGGER ebay_store_events
|
||||
AFTER INSERT ON mock.raw_shop_events
|
||||
FOR EACH ROW
|
||||
WHEN (NEW.platform = 'ebay')
|
||||
EXECUTE FUNCTION mock.process_raw_ebay_event();
|
||||
|
||||
|
||||
CREATE OR REPLACE FUNCTION mock.process_raw_ecwid_event() RETURNS TRIGGER AS $process_raw_ecwid_event$
|
||||
BEGIN
|
||||
INSERT INTO mock.shop_ecwid_events (
|
||||
platform,
|
||||
store_id,
|
||||
event_timestamp,
|
||||
event_id
|
||||
)
|
||||
SELECT
|
||||
NEW.platform,
|
||||
NEW.store_id,
|
||||
NEW.event_timestamp,
|
||||
NEW.event_id;
|
||||
RETURN NULL;
|
||||
END;
|
||||
$process_raw_ecwid_event$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE OR REPLACE TRIGGER ecwid_store_events
|
||||
AFTER INSERT ON mock.raw_shop_events
|
||||
FOR EACH ROW
|
||||
WHEN (NEW.platform = 'ecwid')
|
||||
EXECUTE FUNCTION mock.process_raw_ecwid_event();
|
||||
|
||||
|
||||
CREATE OR REPLACE FUNCTION mock.process_raw_etsy_event() RETURNS TRIGGER AS $process_raw_etsy_event$
|
||||
BEGIN
|
||||
INSERT INTO mock.shop_etsy_events (
|
||||
platform,
|
||||
store_id,
|
||||
event_timestamp,
|
||||
event_id
|
||||
)
|
||||
SELECT
|
||||
NEW.platform,
|
||||
NEW.store_id,
|
||||
NEW.event_timestamp,
|
||||
NEW.event_id;
|
||||
RETURN NULL;
|
||||
END;
|
||||
$process_raw_etsy_event$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE OR REPLACE TRIGGER etsy_store_events
|
||||
AFTER INSERT ON mock.raw_shop_events
|
||||
FOR EACH ROW
|
||||
WHEN (NEW.platform = 'etsy')
|
||||
EXECUTE FUNCTION mock.process_raw_etsy_event();
|
||||
|
||||
|
||||
CREATE OR REPLACE FUNCTION mock.process_raw_shopify_event() RETURNS TRIGGER AS $process_raw_shopify_event$
|
||||
BEGIN
|
||||
INSERT INTO mock.shop_shopify_events (
|
||||
platform,
|
||||
store_id,
|
||||
event_timestamp,
|
||||
event_id
|
||||
)
|
||||
SELECT
|
||||
NEW.platform,
|
||||
NEW.store_id,
|
||||
NEW.event_timestamp,
|
||||
NEW.event_id;
|
||||
RETURN NULL;
|
||||
END;
|
||||
$process_raw_shopify_event$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE OR REPLACE TRIGGER shopify_store_events
|
||||
AFTER INSERT ON mock.raw_shop_events
|
||||
FOR EACH ROW
|
||||
WHEN (NEW.platform = 'shopify')
|
||||
EXECUTE FUNCTION mock.process_raw_shopify_event();
|
||||
|
||||
|
||||
CREATE OR REPLACE FUNCTION mock.process_raw_square_online_event() RETURNS TRIGGER AS $process_raw_square_online_event$
|
||||
BEGIN
|
||||
INSERT INTO mock.shop_square_online_events (
|
||||
platform,
|
||||
store_id,
|
||||
event_timestamp,
|
||||
event_id
|
||||
)
|
||||
SELECT
|
||||
NEW.platform,
|
||||
NEW.store_id,
|
||||
NEW.event_timestamp,
|
||||
NEW.event_id;
|
||||
RETURN NULL;
|
||||
END;
|
||||
$process_raw_square_online_event$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE OR REPLACE TRIGGER square_online_store_events
|
||||
AFTER INSERT ON mock.raw_shop_events
|
||||
FOR EACH ROW
|
||||
WHEN (NEW.platform = 'square_online')
|
||||
EXECUTE FUNCTION mock.process_raw_square_online_event();
|
||||
|
||||
|
||||
CREATE OR REPLACE FUNCTION mock.process_raw_squarespace_event() RETURNS TRIGGER AS $process_raw_squarespace_event$
|
||||
BEGIN
|
||||
INSERT INTO mock.shop_squarespace_events (
|
||||
platform,
|
||||
store_id,
|
||||
event_timestamp,
|
||||
event_id
|
||||
)
|
||||
SELECT
|
||||
NEW.platform,
|
||||
NEW.store_id,
|
||||
NEW.event_timestamp,
|
||||
NEW.event_id;
|
||||
RETURN NULL;
|
||||
END;
|
||||
$process_raw_squarespace_event$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE OR REPLACE TRIGGER squarespace_store_events
|
||||
AFTER INSERT ON mock.raw_shop_events
|
||||
FOR EACH ROW
|
||||
WHEN (NEW.platform = 'squarespace')
|
||||
EXECUTE FUNCTION mock.process_raw_squarespace_event();
|
||||
|
||||
|
||||
CREATE OR REPLACE FUNCTION mock.process_raw_tiktok_event() RETURNS TRIGGER AS $process_raw_tiktok_event$
|
||||
BEGIN
|
||||
INSERT INTO mock.shop_tiktok_events (
|
||||
platform,
|
||||
store_id,
|
||||
event_timestamp,
|
||||
event_id
|
||||
)
|
||||
SELECT
|
||||
NEW.platform,
|
||||
NEW.store_id,
|
||||
NEW.event_timestamp,
|
||||
NEW.event_id;
|
||||
RETURN NULL;
|
||||
END;
|
||||
$process_raw_tiktok_event$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE OR REPLACE TRIGGER tiktok_store_events
|
||||
AFTER INSERT ON mock.raw_shop_events
|
||||
FOR EACH ROW
|
||||
WHEN (NEW.platform = 'tiktok')
|
||||
EXECUTE FUNCTION mock.process_raw_tiktok_event();
|
||||
|
||||
|
||||
CREATE OR REPLACE FUNCTION mock.process_raw_walmart_marketplace_event() RETURNS TRIGGER AS $process_raw_walmart_marketplace_event$
|
||||
BEGIN
|
||||
INSERT INTO mock.shop_walmart_marketplace_events (
|
||||
platform,
|
||||
store_id,
|
||||
event_timestamp,
|
||||
event_id
|
||||
)
|
||||
SELECT
|
||||
NEW.platform,
|
||||
NEW.store_id,
|
||||
NEW.event_timestamp,
|
||||
NEW.event_id;
|
||||
RETURN NULL;
|
||||
END;
|
||||
$process_raw_walmart_marketplace_event$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE OR REPLACE TRIGGER walmart_marketplace_store_events
|
||||
AFTER INSERT ON mock.raw_shop_events
|
||||
FOR EACH ROW
|
||||
WHEN (NEW.platform = 'walmart_marketplace')
|
||||
EXECUTE FUNCTION mock.process_raw_walmart_marketplace_event();
|
||||
|
||||
|
||||
CREATE OR REPLACE FUNCTION mock.process_raw_wix_event() RETURNS TRIGGER AS $process_raw_wix_event$
|
||||
BEGIN
|
||||
INSERT INTO mock.shop_wix_events (
|
||||
platform,
|
||||
store_id,
|
||||
event_timestamp,
|
||||
event_id
|
||||
)
|
||||
SELECT
|
||||
NEW.platform,
|
||||
NEW.store_id,
|
||||
NEW.event_timestamp,
|
||||
NEW.event_id;
|
||||
RETURN NULL;
|
||||
END;
|
||||
$process_raw_wix_event$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE OR REPLACE TRIGGER wix_store_events
|
||||
AFTER INSERT ON mock.raw_shop_events
|
||||
FOR EACH ROW
|
||||
WHEN (NEW.platform = 'wix')
|
||||
EXECUTE FUNCTION mock.process_raw_wix_event();
|
||||
|
||||
|
||||
CREATE OR REPLACE FUNCTION mock.process_raw_woo_commerce_event() RETURNS TRIGGER AS $process_raw_woo_commerce_event$
|
||||
BEGIN
|
||||
INSERT INTO mock.shop_woo_commerce_events (
|
||||
platform,
|
||||
store_id,
|
||||
event_timestamp,
|
||||
event_id
|
||||
)
|
||||
SELECT
|
||||
NEW.platform,
|
||||
NEW.store_id,
|
||||
NEW.event_timestamp,
|
||||
NEW.event_id;
|
||||
RETURN NULL;
|
||||
END;
|
||||
$process_raw_woo_commerce_event$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE OR REPLACE TRIGGER woo_commerce_store_events
|
||||
AFTER INSERT ON mock.raw_shop_events
|
||||
FOR EACH ROW
|
||||
WHEN (NEW.platform = 'woo_commerce')
|
||||
EXECUTE FUNCTION mock.process_raw_woo_commerce_event();
|
||||
|
||||
|
||||
CREATE OR REPLACE FUNCTION mock.process_raw_zoho_event() RETURNS TRIGGER AS $process_raw_zoho_event$
|
||||
BEGIN
|
||||
INSERT INTO mock.shop_zoho_events (
|
||||
platform,
|
||||
store_id,
|
||||
event_timestamp,
|
||||
event_id
|
||||
)
|
||||
SELECT
|
||||
NEW.platform,
|
||||
NEW.store_id,
|
||||
NEW.event_timestamp,
|
||||
NEW.event_id;
|
||||
RETURN NULL;
|
||||
END;
|
||||
$process_raw_zoho_event$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE OR REPLACE TRIGGER zoho_store_events
|
||||
AFTER INSERT ON mock.raw_shop_events
|
||||
FOR EACH ROW
|
||||
WHEN (NEW.platform = 'zoho')
|
||||
EXECUTE FUNCTION mock.process_raw_zoho_event();
|
||||
|
||||
|
||||
COMMIT;
|
||||
Reference in New Issue
Block a user