36 lines
1.1 KiB
MySQL
36 lines
1.1 KiB
MySQL
|
-- Deploy camper:booking_guest to pg
|
||
|
-- requires: roles
|
||
|
-- requires: schema_camper
|
||
|
-- requires: booking
|
||
|
-- requires: sex
|
||
|
-- requires: id_document_type
|
||
|
-- requires: extension_pg_libphonenumber
|
||
|
|
||
|
begin;
|
||
|
|
||
|
set search_path to camper, public;
|
||
|
|
||
|
create table booking_guest (
|
||
|
booking_guest_id integer generated by default as identity primary key,
|
||
|
booking_id integer not null references booking,
|
||
|
id_document_type_id varchar(1) not null references id_document_type,
|
||
|
id_document_number text not null,
|
||
|
id_document_issue_date date,
|
||
|
given_name text not null,
|
||
|
first_surname text not null,
|
||
|
second_surname text not null,
|
||
|
sex_id varchar(1) not null references sex,
|
||
|
birthdate date not null,
|
||
|
country_code country_code not null references country,
|
||
|
phone packed_phone_number,
|
||
|
address text not null,
|
||
|
created_at timestamp with time zone not null default current_timestamp,
|
||
|
updated_at timestamp with time zone not null default current_timestamp,
|
||
|
unique (booking_id, id_document_type_id, id_document_number)
|
||
|
);
|
||
|
|
||
|
grant select, insert, update, delete on table booking_guest to employee;
|
||
|
grant select, insert, update, delete on table booking_guest to admin;
|
||
|
|
||
|
commit;
|