adding tags to schema
This commit is contained in:
parent
3743d52ac3
commit
436c8748b5
121
schema-202401271247.sql
Normal file
121
schema-202401271247.sql
Normal file
@ -0,0 +1,121 @@
|
||||
-- Database export via SQLPro (https://www.sqlprostudio.com/)
|
||||
-- Exported by camille at 27-01-2025 12:47.
|
||||
-- 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;
|
||||
|
||||
-- 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 NOT NULL,
|
||||
tag_id bigint NOT NULL,
|
||||
PRIMARY KEY(id)
|
||||
);
|
||||
|
||||
COMMIT;
|
||||
|
||||
-- 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;
|
||||
|
||||
-- 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;
|
||||
|
||||
-- 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;
|
||||
|
||||
-- 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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user