diff --git a/database_migrations/000002_processed_tables.down.sql b/database_migrations/000002_processed_tables.down.sql index 1204a6e..b0619fb 100644 --- a/database_migrations/000002_processed_tables.down.sql +++ b/database_migrations/000002_processed_tables.down.sql @@ -1,3 +1,7 @@ +BEGIN; + DROP TABLE tiktok_store_events; DROP TABLE etsy_store_events; DROP TABLE wix_store_events; + +COMMIT; diff --git a/database_migrations/000002_processed_tables.up.sql b/database_migrations/000002_processed_tables.up.sql index 6581455..fa392c1 100644 --- a/database_migrations/000002_processed_tables.up.sql +++ b/database_migrations/000002_processed_tables.up.sql @@ -1,3 +1,5 @@ +BEGIN; + CREATE TABLE tiktok_store_events ( platform TEXT NOT NULL DEFAULT 'tiktok' CHECK (platform = 'tiktok'), store_id TEXT NOT NULL, @@ -27,3 +29,5 @@ CREATE TABLE wix_store_events ( PRIMARY KEY (store_id, event_id, event_timestamp), FOREIGN KEY (platform, store_id, event_id, event_timestamp) REFERENCES raw_store_events ); + +COMMIT; diff --git a/database_migrations/000003_process_raw_events_tiktok.down.sql b/database_migrations/000003_process_raw_events_tiktok.down.sql new file mode 100644 index 0000000..44992ff --- /dev/null +++ b/database_migrations/000003_process_raw_events_tiktok.down.sql @@ -0,0 +1,10 @@ +BEGIN; + + +DROP TRIGGER tiktok_store_events; + +DROP FUNCTION process_raw_tiktok_event; + + +COMMIT; + diff --git a/database_migrations/000003_process_raw_events_tiktok.up.sql b/database_migrations/000003_process_raw_events_tiktok.up.sql new file mode 100644 index 0000000..18cccc3 --- /dev/null +++ b/database_migrations/000003_process_raw_events_tiktok.up.sql @@ -0,0 +1,28 @@ +BEGIN; + + +CREATE OR REPLACE FUNCTION process_raw_tiktok_event() RETURNS TRIGGER AS $process_raw_tiktok_event$ + BEGIN + INSERT INTO tiktok_store_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 raw_store_events + FOR EACH ROW + WHEN (NEW.platform = 'tiktok') + EXECUTE FUNCTION process_raw_tiktok_event(); + + +COMMIT; diff --git a/database_migrations/000004_drop_parsed_column.down.sql b/database_migrations/000004_drop_parsed_column.down.sql new file mode 100644 index 0000000..e69de29 diff --git a/database_migrations/000004_drop_parsed_column.up.sql b/database_migrations/000004_drop_parsed_column.up.sql new file mode 100644 index 0000000..9daff8e --- /dev/null +++ b/database_migrations/000004_drop_parsed_column.up.sql @@ -0,0 +1 @@ +ALTER TABLE raw_store_events DROP COLUMN IF EXISTS parsed; diff --git a/database_migrations/000005_process_raw_events_etsy.down.sql b/database_migrations/000005_process_raw_events_etsy.down.sql new file mode 100644 index 0000000..0602463 --- /dev/null +++ b/database_migrations/000005_process_raw_events_etsy.down.sql @@ -0,0 +1,9 @@ +BEGIN; + + +DROP TRIGGER etsy_store_events; + +DROP FUNCTION process_raw_etsy_event; + + +COMMIT; diff --git a/database_migrations/000005_process_raw_events_etsy.up.sql b/database_migrations/000005_process_raw_events_etsy.up.sql new file mode 100644 index 0000000..f9e234a --- /dev/null +++ b/database_migrations/000005_process_raw_events_etsy.up.sql @@ -0,0 +1,29 @@ +BEGIN; + + +CREATE OR REPLACE FUNCTION process_raw_etsy_event() RETURNS TRIGGER AS $process_raw_etsy_event$ + BEGIN + INSERT INTO etsy_store_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 raw_store_events + FOR EACH ROW + WHEN (NEW.platform = 'etsy') + EXECUTE FUNCTION process_raw_etsy_event(); + + +COMMIT; + diff --git a/database_migrations/000006_process_raw_events_wix.down.sql b/database_migrations/000006_process_raw_events_wix.down.sql new file mode 100644 index 0000000..2be1484 --- /dev/null +++ b/database_migrations/000006_process_raw_events_wix.down.sql @@ -0,0 +1,9 @@ +BEGIN; + + +DROP TRIGGER wix_store_events; + +DROP FUNCTION process_raw_wix_event; + + +COMMIT; diff --git a/database_migrations/000006_process_raw_events_wix.up.sql b/database_migrations/000006_process_raw_events_wix.up.sql new file mode 100644 index 0000000..ce8f71f --- /dev/null +++ b/database_migrations/000006_process_raw_events_wix.up.sql @@ -0,0 +1,29 @@ +BEGIN; + + +CREATE OR REPLACE FUNCTION process_raw_wix_event() RETURNS TRIGGER AS $process_raw_wix_event$ + BEGIN + INSERT INTO wix_store_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 raw_store_events + FOR EACH ROW + WHEN (NEW.platform = 'wix') + EXECUTE FUNCTION process_raw_wix_event(); + + +COMMIT; + diff --git a/internal/domains/raw_events/.events.go.swp b/internal/domains/raw_events/.events.go.swp deleted file mode 100644 index d01f698..0000000 Binary files a/internal/domains/raw_events/.events.go.swp and /dev/null differ