diff --git a/schema-with-tags-and-example-data.sql b/schema-with-tags-and-example-data.sql new file mode 100644 index 0000000..f86cac2 --- /dev/null +++ b/schema-with-tags-and-example-data.sql @@ -0,0 +1,168 @@ +-- Database export via SQLPro (https://www.sqlprostudio.com/) +-- Exported by camille at 27-01-2025 14:22. +-- WARNING: This file may contain descructive statements such as DROPs. +-- Please ensure that you are running the script at the proper location. + + +-- BEGIN TABLE public.instances +DROP TABLE IF EXISTS public.instances CASCADE; +BEGIN; + +CREATE TABLE IF NOT EXISTS public.instances ( + id bigint DEFAULT nextval('insances_sampleid_seq'::regclass) NOT NULL, + instance character varying NOT NULL, + record_update_by bigint, + record_updated_at timestamp without time zone, + vote integer DEFAULT 1 NOT NULL, + PRIMARY KEY(id) +); + +COMMIT; + +-- Inserting 4 rows into public.instances +-- Insert batch #1 +INSERT INTO public.instances (id, instance, record_update_by, record_updated_at, vote) VALUES +(838, 'preteengirls.biz', 1, '2025-01-27 14:07:55.985233', 1), +(839, 'friends.nico', 1, '2025-01-27 14:16:52.808933', 1), +(840, 'kiwifarms.cc', 1, '2025-01-27 14:19:24.443163', 1), +(841, 'mstdn.io', 1, '2025-01-27 14:20:55.968186', 1); + +-- END TABLE public.instances + +-- BEGIN TABLE public.receipt_tags +DROP TABLE IF EXISTS public.receipt_tags CASCADE; +BEGIN; + +CREATE TABLE IF NOT EXISTS public.receipt_tags ( + id bigint DEFAULT nextval('receipt_tags_sampleid_seq'::regclass) NOT NULL, + instance_id bigint NOT NULL, + receipt_id bigint, + tag_id bigint NOT NULL, + PRIMARY KEY(id) +); + +COMMIT; + +-- Inserting 7 rows into public.receipt_tags +-- Insert batch #1 +INSERT INTO public.receipt_tags (id, instance_id, receipt_id, tag_id) VALUES +(1, 838, NULL, 8), +(4, 839, NULL, 9), +(5, 840, NULL, 5), +(6, 840, NULL, 12), +(7, 840, NULL, 15), +(8, 841, NULL, 5), +(9, 841, NULL, 12); + +-- END TABLE public.receipt_tags + +-- BEGIN TABLE public.receipts +DROP TABLE IF EXISTS public.receipts CASCADE; +BEGIN; + +CREATE TABLE IF NOT EXISTS public.receipts ( + id bigint DEFAULT nextval('receipts_sampleid_seq'::regclass) NOT NULL, + instance_id bigint NOT NULL, + updated_by bigint, + updated_at timestamp without time zone, + original_link character varying NOT NULL, + image_filename character varying, + PRIMARY KEY(id) +); + +COMMIT; + +-- Table public.receipts contains no data. No inserts have been generated. +-- Inserting 0 rows into public.receipts + + +-- END TABLE public.receipts + +-- BEGIN TABLE public.tags +DROP TABLE IF EXISTS public.tags CASCADE; +BEGIN; + +CREATE TABLE IF NOT EXISTS public.tags ( + id bigint DEFAULT nextval('tags_sampleid_seq'::regclass) NOT NULL, + tag_name character varying NOT NULL, + tag_description character varying NOT NULL, + PRIMARY KEY(id) +); + +COMMIT; + +-- Inserting 15 rows into public.tags +-- Insert batch #1 +INSERT INTO public.tags (id, tag_name, tag_description) VALUES +(1, 'spam', 'spam'), +(2, 'ads', 'predatory advertising'), +(3, 'antiblackness', 'open anti-black hostility'), +(4, 'homomisia', 'open same-sex relationship hostility'), +(5, 'transmisia', 'open transgender hostility'), +(6, 'antisemetism', 'open anti-jewish hostility'), +(7, 'ableism', 'open anti-disability hostility'), +(8, 'csam', 'child sexual abuse material'), +(9, 'nudity', 'nudity without content warnings'), +(10, 'misogyny', 'open hostility towards women'), +(11, 'misogynoir', 'open hostility towards black women'), +(12, 'harassment', 'continued, targeted abuse'), +(13, 'misandry', 'open hostility towards men'), +(14, 'violence', 'targeted speech meant to convey violent actions'), +(15, 'doxing', 'deliberate actions to publicise the identity of others'); + +-- END TABLE public.tags + +-- BEGIN TABLE public.users +DROP TABLE IF EXISTS public.users CASCADE; +BEGIN; + +CREATE TABLE IF NOT EXISTS public.users ( + id bigint DEFAULT nextval('users_sampleid_seq'::regclass) NOT NULL, + username character varying NOT NULL, + fullname character varying, + fedi_address character varying NOT NULL, + active boolean DEFAULT true NOT NULL, + PRIMARY KEY(id) +); + +COMMIT; + +-- Inserting 1 row into public.users +-- Insert batch #1 +INSERT INTO public.users (id, username, fullname, fedi_address, active) VALUES +(1, 'fyrfli', 'camille frantz', '@fyrfli@diaspora.im', 'True'); + +-- END TABLE public.users + +ALTER TABLE IF EXISTS public.instances + ADD CONSTRAINT instances_users_fk + FOREIGN KEY (record_update_by) + REFERENCES public.users (id); + +ALTER TABLE IF EXISTS public.receipt_tags + ADD CONSTRAINT instance_id_fkey + FOREIGN KEY (instance_id, instance_id) + REFERENCES public.instances (id, id) + ON DELETE CASCADE; + +ALTER TABLE IF EXISTS public.receipt_tags + ADD CONSTRAINT tag_id + FOREIGN KEY (tag_id) + REFERENCES public.tags (id); + +ALTER TABLE IF EXISTS public.receipt_tags + ADD CONSTRAINT receipt_id_fkey + FOREIGN KEY (receipt_id) + REFERENCES public.receipts (id); + +ALTER TABLE IF EXISTS public.receipts + ADD CONSTRAINT instance_id_fkey + FOREIGN KEY (instance_id, instance_id) + REFERENCES public.instances (id, id) + ON DELETE CASCADE; + +ALTER TABLE IF EXISTS public.receipts + ADD CONSTRAINT update_by_fkey + FOREIGN KEY (updated_by) + REFERENCES public.users (id); + diff --git a/tags.sql b/tags.sql new file mode 100644 index 0000000..fda03fc --- /dev/null +++ b/tags.sql @@ -0,0 +1,40 @@ +-- Database export via SQLPro (https://www.sqlprostudio.com/) +-- Exported by camille at 27-01-2025 14:22. +-- WARNING: This file may contain descructive statements such as DROPs. +-- Please ensure that you are running the script at the proper location. + + +-- BEGIN TABLE public.tags +DROP TABLE IF EXISTS public.tags CASCADE; +BEGIN; + +CREATE TABLE IF NOT EXISTS public.tags ( + id bigint DEFAULT nextval('tags_sampleid_seq'::regclass) NOT NULL, + tag_name character varying NOT NULL, + tag_description character varying NOT NULL, + PRIMARY KEY(id) +); + +COMMIT; + +-- Inserting 15 rows into public.tags +-- Insert batch #1 +INSERT INTO public.tags (id, tag_name, tag_description) VALUES +(1, 'spam', 'spam'), +(2, 'ads', 'predatory advertising'), +(3, 'antiblackness', 'open anti-black hostility'), +(4, 'homomisia', 'open same-sex relationship hostility'), +(5, 'transmisia', 'open transgender hostility'), +(6, 'antisemetism', 'open anti-jewish hostility'), +(7, 'ableism', 'open anti-disability hostility'), +(8, 'csam', 'child sexual abuse material'), +(9, 'nudity', 'nudity without content warnings'), +(10, 'misogyny', 'open hostility towards women'), +(11, 'misogynoir', 'open hostility towards black women'), +(12, 'harassment', 'continued, targeted abuse'), +(13, 'misandry', 'open hostility towards men'), +(14, 'violence', 'targeted speech meant to convey violent actions'), +(15, 'doxing', 'deliberate actions to publicise the identity of others'); + +-- END TABLE public.tags +