-- WARNING: This schema is for context only and is not meant to be run. -- Table order and constraints may not be valid for execution. CREATE TABLE public.clienti ( id_cliente integer NOT NULL DEFAULT nextval('clienti_id_cliente_seq'::regclass), nome_cliente character varying NOT NULL UNIQUE, CONSTRAINT clienti_pkey PRIMARY KEY (id_cliente) ); CREATE TABLE public.compilatori ( id_compilatore integer NOT NULL DEFAULT nextval('compilatori_id_compilatore_seq'::regclass), nome_compilatore character varying NOT NULL UNIQUE, CONSTRAINT compilatori_pkey PRIMARY KEY (id_compilatore) ); CREATE TABLE public.inci ( id bigint GENERATED ALWAYS AS IDENTITY NOT NULL, created_at timestamp with time zone NOT NULL DEFAULT now(), inci text NOT NULL UNIQUE, cas text NOT NULL, CONSTRAINT inci_pkey PRIMARY KEY (id), CONSTRAINT inci_cas_fkey FOREIGN KEY (cas) REFERENCES public.ingredienti(cas) ); CREATE TABLE public.ingredienti ( id bigint GENERATED ALWAYS AS IDENTITY NOT NULL, created_at timestamp with time zone NOT NULL DEFAULT now(), cas text NOT NULL UNIQUE, mongo_id text, dap boolean DEFAULT false, cosing boolean DEFAULT false, tox boolean DEFAULT false, CONSTRAINT ingredienti_pkey PRIMARY KEY (id) ); CREATE TABLE public.ingredients_lineage ( id bigint GENERATED ALWAYS AS IDENTITY NOT NULL, created_at timestamp with time zone NOT NULL DEFAULT now(), id_progetto integer, id_ingrediente bigint, CONSTRAINT ingredients_lineage_pkey PRIMARY KEY (id), CONSTRAINT ingredients_lineage_id_ingrediente_fkey FOREIGN KEY (id_ingrediente) REFERENCES public.ingredienti(id), CONSTRAINT ingredients_lineage_id_progetto_fkey FOREIGN KEY (id_progetto) REFERENCES public.progetti(id) ); CREATE TABLE public.ordini ( id_ordine integer NOT NULL DEFAULT nextval('ordini_id_ordine_seq'::regclass), id_cliente integer, id_compilatore integer, uuid_ordine character varying NOT NULL, uuid_progetto character varying UNIQUE, data_ordine timestamp without time zone NOT NULL, stato_ordine integer DEFAULT 1, note text, CONSTRAINT ordini_pkey PRIMARY KEY (id_ordine), CONSTRAINT ordini_id_cliente_fkey FOREIGN KEY (id_cliente) REFERENCES public.clienti(id_cliente), CONSTRAINT ordini_id_compilatore_fkey FOREIGN KEY (id_compilatore) REFERENCES public.compilatori(id_compilatore), CONSTRAINT ordini_stato_ordine_fkey FOREIGN KEY (stato_ordine) REFERENCES public.stati_ordini(id_stato) ); CREATE TABLE public.progetti ( id bigint GENERATED ALWAYS AS IDENTITY NOT NULL, created_at timestamp with time zone NOT NULL DEFAULT now(), mongo_id character varying, preset_tipo_prodotto integer, CONSTRAINT progetti_pkey PRIMARY KEY (id), CONSTRAINT progetti_mongo_id_fkey FOREIGN KEY (mongo_id) REFERENCES public.ordini(uuid_progetto), CONSTRAINT progetti_preset_tipo_prodotto_fkey FOREIGN KEY (preset_tipo_prodotto) REFERENCES public.tipi_prodotti(id_preset) ); CREATE TABLE public.stati_ordini ( id_stato integer NOT NULL DEFAULT nextval('stati_ordini_id_stato_seq'::regclass), nome_stato character varying NOT NULL, CONSTRAINT stati_ordini_pkey PRIMARY KEY (id_stato) ); CREATE TABLE public.tipi_prodotti ( id_preset integer NOT NULL DEFAULT nextval('tipi_prodotti_id_tipo_seq'::regclass), preset_name text NOT NULL UNIQUE, tipo_prodotto text, luogo_applicazione text, esp_normali text, esp_secondarie text, esp_nano text NOT NULL, sup_esposta integer, freq_applicazione integer, qta_giornaliera double precision, ritenzione double precision, CONSTRAINT tipi_prodotti_pkey PRIMARY KEY (id_preset) );