· 4 years ago · Jul 15, 2021, 05:06 PM
1// Este es el codigo, estoy tratando de agregar un campo que relacione el farm_id de la tabla farms
2// con un campo que le pondria el mismo nombre en la tabla users
3// De lo que eh conseguido que em ha dado resultado, me terminan eliminando al relacion que existe entre la tabla roles y users
4// Y Agrega la otra relacion de forma extrañy encima le pone cascada y todas esas cosas que no quisiera yo
5
6DROP TABLE IF EXISTS public.farms;
7DROP table IF EXISTS public.users;
8DROP table IF EXISTS public.roles;
9
10
11CREATE TABLE public.roles (
12 role_id int4 NOT NULL,
13 role_name varchar(15) NOT NULL,
14 role_description varchar(20) NOT NULL,
15 CONSTRAINT roles_pkey PRIMARY KEY (role_id)
16);
17
18
19CREATE TABLE public.users (
20 user_id varchar(30) NOT NULL,
21 first_name varchar(30) NOT NULL,
22 last_name varchar(30) NOT NULL,
23 email_user varchar(50) NULL,
24 phone_user bigint NOT NULL,
25 address_user varchar(50) NULL,
26 role_id int4 not null,
27 CONSTRAINT users_pkey PRIMARY KEY (user_id),
28 CONSTRAINT roles_fk FOREIGN KEY (role_id) REFERENCES public.roles(role_id)
29);
30
31
32CREATE TABLE public.farms (
33 farm_name varchar NOT NULL,
34 area int4 NOT NULL,
35 qty_lot int4 NOT NULL,
36 owner_id varchar(30) NOT NULL,
37 farm_id serial NOT NULL,
38 CONSTRAINT farms_pk PRIMARY KEY (farm_id),
39 CONSTRAINT farms_fk FOREIGN KEY (owner_id) REFERENCES public.users(user_id)
40);
41
42insert into roles (role_id, role_name, role_description)
43values (1, 'Owner', 'Owner farm'),
44 (2, 'Manager', 'Employed Farm')