| 1 | -- DROP SCHEMA synergymed;
|
|---|
| 2 |
|
|---|
| 3 | CREATE SCHEMA synergymed AUTHORIZATION postgres;
|
|---|
| 4 |
|
|---|
| 5 | COMMENT ON SCHEMA synergymed IS 'standard synergymed schema';
|
|---|
| 6 |
|
|---|
| 7 | -- Drop table
|
|---|
| 8 |
|
|---|
| 9 | -- DROP TABLE synergymed.company;
|
|---|
| 10 |
|
|---|
| 11 | CREATE TABLE synergymed.company (
|
|---|
| 12 | id int4 GENERATED BY DEFAULT AS IDENTITY( INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START 1 CACHE 1 NO CYCLE) NOT NULL,
|
|---|
| 13 | company_name varchar(255) NOT NULL,
|
|---|
| 14 | description text NULL,
|
|---|
| 15 | registration_number varchar(100) NOT NULL,
|
|---|
| 16 | CONSTRAINT company_pkey PRIMARY KEY (id),
|
|---|
| 17 | CONSTRAINT company_registration_number_key UNIQUE (registration_number)
|
|---|
| 18 | );
|
|---|
| 19 |
|
|---|
| 20 |
|
|---|
| 21 | -- synergymed.medicine definition
|
|---|
| 22 |
|
|---|
| 23 | -- Drop table
|
|---|
| 24 |
|
|---|
| 25 | -- DROP TABLE synergymed.medicine;
|
|---|
| 26 |
|
|---|
| 27 | CREATE TABLE synergymed.medicine (
|
|---|
| 28 | id int4 NOT NULL,
|
|---|
| 29 | medicine_name varchar(255) NOT NULL,
|
|---|
| 30 | active_ingredient varchar(255) NOT NULL,
|
|---|
| 31 | CONSTRAINT medicine_pkey PRIMARY KEY (id)
|
|---|
| 32 | );
|
|---|
| 33 |
|
|---|
| 34 |
|
|---|
| 35 | -- synergymed.paymentmethod definition
|
|---|
| 36 |
|
|---|
| 37 | -- Drop table
|
|---|
| 38 |
|
|---|
| 39 | -- DROP TABLE synergymed.paymentmethod;
|
|---|
| 40 |
|
|---|
| 41 | CREATE TABLE synergymed.paymentmethod (
|
|---|
| 42 | id int4 NOT NULL,
|
|---|
| 43 | method_name varchar(50) NOT NULL,
|
|---|
| 44 | CONSTRAINT paymentmethod_pkey PRIMARY KEY (id)
|
|---|
| 45 | );
|
|---|
| 46 |
|
|---|
| 47 |
|
|---|
| 48 | -- synergymed.users definition
|
|---|
| 49 |
|
|---|
| 50 | -- Drop table
|
|---|
| 51 |
|
|---|
| 52 | -- DROP TABLE synergymed.users;
|
|---|
| 53 |
|
|---|
| 54 | CREATE TABLE synergymed.users (
|
|---|
| 55 | id int4 GENERATED BY DEFAULT AS IDENTITY( INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START 1 CACHE 1 NO CYCLE) NOT NULL,
|
|---|
| 56 | first_name varchar(100) NOT NULL,
|
|---|
| 57 | last_name varchar(100) NOT NULL,
|
|---|
| 58 | username varchar(100) NOT NULL,
|
|---|
| 59 | hashed_password varchar(255) NOT NULL,
|
|---|
| 60 | e_mail varchar(255) NOT NULL,
|
|---|
| 61 | gender varchar(50) NULL,
|
|---|
| 62 | date_created date DEFAULT CURRENT_DATE NOT NULL,
|
|---|
| 63 | date_of_birth date NOT NULL,
|
|---|
| 64 | is_account_non_expired bool DEFAULT true NOT NULL,
|
|---|
| 65 | is_account_non_locked bool DEFAULT true NOT NULL,
|
|---|
| 66 | is_credentials_non_expired bool DEFAULT true NOT NULL,
|
|---|
| 67 | is_enabled bool DEFAULT true NOT NULL,
|
|---|
| 68 | CONSTRAINT users_e_mail_key UNIQUE (e_mail),
|
|---|
| 69 | CONSTRAINT users_pkey PRIMARY KEY (id),
|
|---|
| 70 | CONSTRAINT users_username_key UNIQUE (username)
|
|---|
| 71 | );
|
|---|
| 72 |
|
|---|
| 73 |
|
|---|
| 74 | -- synergymed.admins definition
|
|---|
| 75 |
|
|---|
| 76 | -- Drop table
|
|---|
| 77 |
|
|---|
| 78 | -- DROP TABLE synergymed.admins;
|
|---|
| 79 |
|
|---|
| 80 | CREATE TABLE synergymed.admins (
|
|---|
| 81 | user_id int4 NOT NULL,
|
|---|
| 82 | CONSTRAINT admin_pkey PRIMARY KEY (user_id),
|
|---|
| 83 | CONSTRAINT admin_user_id_fkey FOREIGN KEY (user_id) REFERENCES synergymed.users(id)
|
|---|
| 84 | );
|
|---|
| 85 |
|
|---|
| 86 |
|
|---|
| 87 | -- synergymed.client definition
|
|---|
| 88 |
|
|---|
| 89 | -- Drop table
|
|---|
| 90 |
|
|---|
| 91 | -- DROP TABLE synergymed.client;
|
|---|
| 92 |
|
|---|
| 93 | CREATE TABLE synergymed.client (
|
|---|
| 94 | user_id int4 NOT NULL,
|
|---|
| 95 | is_verified bool NOT NULL,
|
|---|
| 96 | CONSTRAINT client_pkey PRIMARY KEY (user_id),
|
|---|
| 97 | CONSTRAINT client_user_id_fkey FOREIGN KEY (user_id) REFERENCES synergymed.users(id)
|
|---|
| 98 | );
|
|---|
| 99 |
|
|---|
| 100 |
|
|---|
| 101 | -- synergymed.clubcard definition
|
|---|
| 102 |
|
|---|
| 103 | -- Drop table
|
|---|
| 104 |
|
|---|
| 105 | -- DROP TABLE synergymed.clubcard;
|
|---|
| 106 |
|
|---|
| 107 | CREATE TABLE synergymed.clubcard (
|
|---|
| 108 | id int4 GENERATED BY DEFAULT AS IDENTITY( INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START 1 CACHE 1 NO CYCLE) NOT NULL,
|
|---|
| 109 | user_id int4 NOT NULL,
|
|---|
| 110 | club_program varchar(100) NOT NULL,
|
|---|
| 111 | points int4 NOT NULL,
|
|---|
| 112 | CONSTRAINT clubcard_pkey PRIMARY KEY (id),
|
|---|
| 113 | CONSTRAINT clubcard_client_id_fkey FOREIGN KEY (user_id) REFERENCES synergymed.client(user_id)
|
|---|
| 114 | );
|
|---|
| 115 |
|
|---|
| 116 |
|
|---|
| 117 | -- synergymed.deliverycompany definition
|
|---|
| 118 |
|
|---|
| 119 | -- Drop table
|
|---|
| 120 |
|
|---|
| 121 | -- DROP TABLE synergymed.deliverycompany;
|
|---|
| 122 |
|
|---|
| 123 | CREATE TABLE synergymed.deliverycompany (
|
|---|
| 124 | company_id int4 NOT NULL,
|
|---|
| 125 | CONSTRAINT deliverycompany_pkey PRIMARY KEY (company_id),
|
|---|
| 126 | CONSTRAINT deliverycompany_company_id_fkey FOREIGN KEY (company_id) REFERENCES synergymed.company(id) ON DELETE CASCADE
|
|---|
| 127 | );
|
|---|
| 128 |
|
|---|
| 129 |
|
|---|
| 130 | -- synergymed.distributor definition
|
|---|
| 131 |
|
|---|
| 132 | -- Drop table
|
|---|
| 133 |
|
|---|
| 134 | -- DROP TABLE synergymed.distributor;
|
|---|
| 135 |
|
|---|
| 136 | CREATE TABLE synergymed.distributor (
|
|---|
| 137 | company_id int4 NOT NULL,
|
|---|
| 138 | CONSTRAINT distributor_pkey PRIMARY KEY (company_id),
|
|---|
| 139 | CONSTRAINT distributor_company_id_fkey FOREIGN KEY (company_id) REFERENCES synergymed.company(id) ON DELETE CASCADE
|
|---|
| 140 | );
|
|---|
| 141 |
|
|---|
| 142 |
|
|---|
| 143 | -- synergymed.facility definition
|
|---|
| 144 |
|
|---|
| 145 | -- Drop table
|
|---|
| 146 |
|
|---|
| 147 | -- DROP TABLE synergymed.facility;
|
|---|
| 148 |
|
|---|
| 149 | CREATE TABLE synergymed.facility (
|
|---|
| 150 | id int4 GENERATED BY DEFAULT AS IDENTITY( INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START 1 CACHE 1 NO CYCLE) NOT NULL,
|
|---|
| 151 | company_id int4 NOT NULL,
|
|---|
| 152 | facility_name varchar(150) NOT NULL,
|
|---|
| 153 | code varchar(50) NOT NULL,
|
|---|
| 154 | CONSTRAINT facility_code_key UNIQUE (code),
|
|---|
| 155 | CONSTRAINT facility_pkey PRIMARY KEY (id),
|
|---|
| 156 | CONSTRAINT facility_company_id_fkey FOREIGN KEY (company_id) REFERENCES synergymed.company(id)
|
|---|
| 157 | );
|
|---|
| 158 |
|
|---|
| 159 |
|
|---|
| 160 | -- synergymed.healthprofile definition
|
|---|
| 161 |
|
|---|
| 162 | -- Drop table
|
|---|
| 163 |
|
|---|
| 164 | -- DROP TABLE synergymed.healthprofile;
|
|---|
| 165 |
|
|---|
| 166 | CREATE TABLE synergymed.healthprofile (
|
|---|
| 167 | id int4 GENERATED BY DEFAULT AS IDENTITY( INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START 1 CACHE 1 NO CYCLE) NOT NULL,
|
|---|
| 168 | client_id int4 NOT NULL,
|
|---|
| 169 | blood_type varchar(10) NULL,
|
|---|
| 170 | CONSTRAINT healthprofile_pkey PRIMARY KEY (id),
|
|---|
| 171 | CONSTRAINT healthprofile_client_id_fkey FOREIGN KEY (client_id) REFERENCES synergymed.client(user_id)
|
|---|
| 172 | );
|
|---|
| 173 |
|
|---|
| 174 |
|
|---|
| 175 | -- synergymed.inventory definition
|
|---|
| 176 |
|
|---|
| 177 | -- Drop table
|
|---|
| 178 |
|
|---|
| 179 | -- DROP TABLE synergymed.inventory;
|
|---|
| 180 |
|
|---|
| 181 | CREATE TABLE synergymed.inventory (
|
|---|
| 182 | facility_id int4 NOT NULL,
|
|---|
| 183 | id serial4 NOT NULL,
|
|---|
| 184 | CONSTRAINT inventory_facility_id_key UNIQUE (facility_id),
|
|---|
| 185 | CONSTRAINT inventory_pkey PRIMARY KEY (id),
|
|---|
| 186 | CONSTRAINT uq_inventory_facility UNIQUE (facility_id),
|
|---|
| 187 | CONSTRAINT inventory_facility_id_fkey FOREIGN KEY (facility_id) REFERENCES synergymed.facility(id)
|
|---|
| 188 | );
|
|---|
| 189 |
|
|---|
| 190 |
|
|---|
| 191 | -- synergymed.manufacturer definition
|
|---|
| 192 |
|
|---|
| 193 | -- Drop table
|
|---|
| 194 |
|
|---|
| 195 | -- DROP TABLE synergymed.manufacturer;
|
|---|
| 196 |
|
|---|
| 197 | CREATE TABLE synergymed.manufacturer (
|
|---|
| 198 | company_id int4 NOT NULL,
|
|---|
| 199 | CONSTRAINT manufacturer_pkey PRIMARY KEY (company_id),
|
|---|
| 200 | CONSTRAINT manufacturer_company_id_fkey FOREIGN KEY (company_id) REFERENCES synergymed.company(id) ON DELETE CASCADE
|
|---|
| 201 | );
|
|---|
| 202 |
|
|---|
| 203 |
|
|---|
| 204 | -- synergymed.medicineinteraction definition
|
|---|
| 205 |
|
|---|
| 206 | -- Drop table
|
|---|
| 207 |
|
|---|
| 208 | -- DROP TABLE synergymed.medicineinteraction;
|
|---|
| 209 |
|
|---|
| 210 | CREATE TABLE synergymed.medicineinteraction (
|
|---|
| 211 | medicine_id_1 int4 NOT NULL,
|
|---|
| 212 | medicine_id_2 int4 NOT NULL,
|
|---|
| 213 | "type" varchar(100) NOT NULL,
|
|---|
| 214 | description text NULL,
|
|---|
| 215 | severity varchar(50) NOT NULL,
|
|---|
| 216 | CONSTRAINT medicineinteraction_check CHECK ((medicine_id_1 <> medicine_id_2)),
|
|---|
| 217 | CONSTRAINT medicineinteraction_pkey PRIMARY KEY (medicine_id_1, medicine_id_2),
|
|---|
| 218 | CONSTRAINT medicineinteraction_medicine_id_1_fkey FOREIGN KEY (medicine_id_1) REFERENCES synergymed.medicine(id),
|
|---|
| 219 | CONSTRAINT medicineinteraction_medicine_id_2_fkey FOREIGN KEY (medicine_id_2) REFERENCES synergymed.medicine(id)
|
|---|
| 220 | );
|
|---|
| 221 |
|
|---|
| 222 |
|
|---|
| 223 | -- synergymed.payment definition
|
|---|
| 224 |
|
|---|
| 225 | -- Drop table
|
|---|
| 226 |
|
|---|
| 227 | -- DROP TABLE synergymed.payment;
|
|---|
| 228 |
|
|---|
| 229 | CREATE TABLE synergymed.payment (
|
|---|
| 230 | id int4 GENERATED BY DEFAULT AS IDENTITY( INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START 1 CACHE 1 NO CYCLE) NOT NULL,
|
|---|
| 231 | client_id int4 NOT NULL,
|
|---|
| 232 | payment_method_id int4 NOT NULL,
|
|---|
| 233 | payment_date date NOT NULL,
|
|---|
| 234 | amount int4 NOT NULL,
|
|---|
| 235 | status varchar(50) NOT NULL,
|
|---|
| 236 | CONSTRAINT payment_pkey PRIMARY KEY (id),
|
|---|
| 237 | CONSTRAINT payment_client_id_fkey FOREIGN KEY (client_id) REFERENCES synergymed.client(user_id),
|
|---|
| 238 | CONSTRAINT payment_payment_method_id_fkey FOREIGN KEY (payment_method_id) REFERENCES synergymed.paymentmethod(id)
|
|---|
| 239 | );
|
|---|
| 240 |
|
|---|
| 241 |
|
|---|
| 242 |
|
|---|
| 243 |
|
|---|
| 244 | -- synergymed.pharmacist definition
|
|---|
| 245 |
|
|---|
| 246 | -- Drop table
|
|---|
| 247 |
|
|---|
| 248 | -- DROP TABLE synergymed.pharmacist;
|
|---|
| 249 |
|
|---|
| 250 | CREATE TABLE synergymed.pharmacist (
|
|---|
| 251 | user_id int4 NOT NULL,
|
|---|
| 252 | CONSTRAINT pharmacist_pkey PRIMARY KEY (user_id),
|
|---|
| 253 | CONSTRAINT pharmacist_user_id_fkey FOREIGN KEY (user_id) REFERENCES synergymed.users(id)
|
|---|
| 254 | );
|
|---|
| 255 |
|
|---|
| 256 |
|
|---|
| 257 | -- synergymed.pharmacy definition
|
|---|
| 258 |
|
|---|
| 259 | -- Drop table
|
|---|
| 260 |
|
|---|
| 261 | -- DROP TABLE synergymed.pharmacy;
|
|---|
| 262 |
|
|---|
| 263 | CREATE TABLE synergymed.pharmacy (
|
|---|
| 264 | company_id int4 NOT NULL,
|
|---|
| 265 | CONSTRAINT pharmacy_pkey PRIMARY KEY (company_id),
|
|---|
| 266 | CONSTRAINT pharmacy_company_id_fkey FOREIGN KEY (company_id) REFERENCES synergymed.company(id) ON DELETE CASCADE
|
|---|
| 267 | );
|
|---|
| 268 |
|
|---|
| 269 |
|
|---|
| 270 | -- synergymed.prescription definition
|
|---|
| 271 |
|
|---|
| 272 | -- Drop table
|
|---|
| 273 |
|
|---|
| 274 | -- DROP TABLE synergymed.prescription;
|
|---|
| 275 |
|
|---|
| 276 | CREATE TABLE synergymed.prescription (
|
|---|
| 277 | id int4 NOT NULL,
|
|---|
| 278 | client_id int4 NULL,
|
|---|
| 279 | medicine_id int4 NOT NULL,
|
|---|
| 280 | issued_by varchar(50) NOT NULL,
|
|---|
| 281 | issued_at date NOT NULL,
|
|---|
| 282 | valid_to date NOT NULL,
|
|---|
| 283 | embg varchar(20) NOT NULL,
|
|---|
| 284 | CONSTRAINT prescription_pkey PRIMARY KEY (id),
|
|---|
| 285 | CONSTRAINT prescription_client_id_fkey FOREIGN KEY (client_id) REFERENCES synergymed.client(user_id),
|
|---|
| 286 | CONSTRAINT prescription_medicine_id_fkey FOREIGN KEY (medicine_id) REFERENCES synergymed.medicine(id)
|
|---|
| 287 | );
|
|---|
| 288 |
|
|---|
| 289 |
|
|---|
| 290 | -- synergymed.sensitiveclientdata definition
|
|---|
| 291 |
|
|---|
| 292 | -- Drop table
|
|---|
| 293 |
|
|---|
| 294 | -- DROP TABLE synergymed.sensitiveclientdata;
|
|---|
| 295 |
|
|---|
| 296 | CREATE TABLE synergymed.sensitiveclientdata (
|
|---|
| 297 | id int4 GENERATED BY DEFAULT AS IDENTITY( INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START 1 CACHE 1 NO CYCLE) NOT NULL,
|
|---|
| 298 | client_id int4 NOT NULL,
|
|---|
| 299 | pharmacist_id int4 NULL,
|
|---|
| 300 | embg varchar(20) NOT NULL,
|
|---|
| 301 | portrait_photo varchar(255) NOT NULL,
|
|---|
| 302 | verification_status varchar(50) NOT NULL,
|
|---|
| 303 | CONSTRAINT sensitiveclientdata_pkey PRIMARY KEY (id),
|
|---|
| 304 | CONSTRAINT sensitiveclientdata_client_id_fkey FOREIGN KEY (client_id) REFERENCES synergymed.client(user_id),
|
|---|
| 305 | CONSTRAINT sensitiveclientdata_pharmacist_id_fkey FOREIGN KEY (pharmacist_id) REFERENCES synergymed.pharmacist(user_id)
|
|---|
| 306 | );
|
|---|
| 307 |
|
|---|
| 308 |
|
|---|
| 309 |
|
|---|
| 310 | -- synergymed.shoppingcart definition
|
|---|
| 311 |
|
|---|
| 312 | -- Drop table
|
|---|
| 313 |
|
|---|
| 314 | -- DROP TABLE synergymed.shoppingcart;
|
|---|
| 315 |
|
|---|
| 316 | CREATE TABLE synergymed.shoppingcart (
|
|---|
| 317 | id int4 GENERATED BY DEFAULT AS IDENTITY( INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START 1 CACHE 1 NO CYCLE) NOT NULL,
|
|---|
| 318 | client_id int4 NOT NULL,
|
|---|
| 319 | CONSTRAINT shoppingcart_pkey PRIMARY KEY (id),
|
|---|
| 320 | CONSTRAINT shoppingcart_client_id_fkey FOREIGN KEY (client_id) REFERENCES synergymed.client(user_id)
|
|---|
| 321 | );
|
|---|
| 322 |
|
|---|
| 323 |
|
|---|
| 324 | -- synergymed.supplyorder definition
|
|---|
| 325 |
|
|---|
| 326 | -- Drop table
|
|---|
| 327 |
|
|---|
| 328 | -- DROP TABLE synergymed.supplyorder;
|
|---|
| 329 |
|
|---|
| 330 | CREATE TABLE synergymed.supplyorder (
|
|---|
| 331 | id int4 GENERATED BY DEFAULT AS IDENTITY( INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START 1 CACHE 1 NO CYCLE) NOT NULL,
|
|---|
| 332 | distributor_id int4 NOT NULL,
|
|---|
| 333 | pharmacy_id int4 NOT NULL,
|
|---|
| 334 | order_date date NOT NULL,
|
|---|
| 335 | expected_arrival_date date NOT NULL,
|
|---|
| 336 | status varchar(50) NOT NULL,
|
|---|
| 337 | facility_id int4 NOT NULL,
|
|---|
| 338 | CONSTRAINT supplyorder_pkey PRIMARY KEY (id),
|
|---|
| 339 | CONSTRAINT fk_supplyorder_facility FOREIGN KEY (facility_id) REFERENCES synergymed.facility(id),
|
|---|
| 340 | CONSTRAINT supplyorder_distributor_id_fkey FOREIGN KEY (distributor_id) REFERENCES synergymed.distributor(company_id),
|
|---|
| 341 | CONSTRAINT supplyorder_pharmacy_id_fkey FOREIGN KEY (pharmacy_id) REFERENCES synergymed.pharmacy(company_id)
|
|---|
| 342 | );
|
|---|
| 343 |
|
|---|
| 344 |
|
|---|
| 345 | -- synergymed.allergicreaction_healthprofile_medicine definition
|
|---|
| 346 |
|
|---|
| 347 | -- Drop table
|
|---|
| 348 |
|
|---|
| 349 | -- DROP TABLE synergymed.allergicreaction_healthprofile_medicine;
|
|---|
| 350 |
|
|---|
| 351 | CREATE TABLE synergymed.allergicreaction_healthprofile_medicine (
|
|---|
| 352 | health_profile_id int4 NOT NULL,
|
|---|
| 353 | medicine_id int4 NOT NULL,
|
|---|
| 354 | date_diagnosed date NULL,
|
|---|
| 355 | description text NULL,
|
|---|
| 356 | severity varchar(50) NULL,
|
|---|
| 357 | CONSTRAINT healthprofilemedicineallergy_pkey PRIMARY KEY (health_profile_id, medicine_id),
|
|---|
| 358 | CONSTRAINT healthprofilemedicineallergy_health_profile_id_fkey FOREIGN KEY (health_profile_id) REFERENCES synergymed.healthprofile(id),
|
|---|
| 359 | CONSTRAINT healthprofilemedicineallergy_medicine_id_fkey FOREIGN KEY (medicine_id) REFERENCES synergymed.medicine(id)
|
|---|
| 360 | );
|
|---|
| 361 |
|
|---|
| 362 |
|
|---|
| 363 | -- synergymed.brandedmedicine definition
|
|---|
| 364 |
|
|---|
| 365 | -- Drop table
|
|---|
| 366 |
|
|---|
| 367 | -- DROP TABLE synergymed.brandedmedicine;
|
|---|
| 368 |
|
|---|
| 369 | CREATE TABLE synergymed.brandedmedicine (
|
|---|
| 370 | id int4 GENERATED BY DEFAULT AS IDENTITY( INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START 1 CACHE 1 NO CYCLE) NOT NULL,
|
|---|
| 371 | manufacturer_id int4 NOT NULL,
|
|---|
| 372 | price numeric(10, 2) NOT NULL,
|
|---|
| 373 | description text NULL,
|
|---|
| 374 | dosage_form varchar(100) NOT NULL,
|
|---|
| 375 | strength varchar(100) NOT NULL,
|
|---|
| 376 | origin_country varchar(100) NULL,
|
|---|
| 377 | "name" varchar(255) NOT NULL,
|
|---|
| 378 | CONSTRAINT brandedmedicine_pkey PRIMARY KEY (id),
|
|---|
| 379 | CONSTRAINT brandedmedicine_manufacturer_id_fkey FOREIGN KEY (manufacturer_id) REFERENCES synergymed.manufacturer(company_id)
|
|---|
| 380 | );
|
|---|
| 381 |
|
|---|
| 382 |
|
|---|
| 383 | -- synergymed.brandedmedicineimage definition
|
|---|
| 384 |
|
|---|
| 385 | -- Drop table
|
|---|
| 386 |
|
|---|
| 387 | -- DROP TABLE synergymed.brandedmedicineimage;
|
|---|
| 388 |
|
|---|
| 389 | CREATE TABLE synergymed.brandedmedicineimage (
|
|---|
| 390 | id int4 GENERATED BY DEFAULT AS IDENTITY( INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START 1 CACHE 1 NO CYCLE) NOT NULL,
|
|---|
| 391 | branded_medicine_id int4 NOT NULL,
|
|---|
| 392 | image varchar(255) NOT NULL,
|
|---|
| 393 | is_main_image bool DEFAULT false NOT NULL,
|
|---|
| 394 | CONSTRAINT brandedmedicineimage_pkey PRIMARY KEY (id),
|
|---|
| 395 | CONSTRAINT brandedmedicineimage_branded_medicine_id_fkey FOREIGN KEY (branded_medicine_id) REFERENCES synergymed.brandedmedicine(id)
|
|---|
| 396 | );
|
|---|
| 397 |
|
|---|
| 398 |
|
|---|
| 399 | -- synergymed.clientorder definition
|
|---|
| 400 |
|
|---|
| 401 | -- Drop table
|
|---|
| 402 |
|
|---|
| 403 | -- DROP TABLE synergymed.clientorder;
|
|---|
| 404 |
|
|---|
| 405 | CREATE TABLE synergymed.clientorder (
|
|---|
| 406 | id int4 GENERATED BY DEFAULT AS IDENTITY( INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START 1 CACHE 1 NO CYCLE) NOT NULL,
|
|---|
| 407 | client_id int4 NOT NULL,
|
|---|
| 408 | delivery_company_id int4 NOT NULL,
|
|---|
| 409 | payment_id int4 NOT NULL,
|
|---|
| 410 | order_date date NOT NULL,
|
|---|
| 411 | expected_arrival_date date NOT NULL,
|
|---|
| 412 | status varchar(100) NOT NULL,
|
|---|
| 413 | total_price int4 NOT NULL,
|
|---|
| 414 | CONSTRAINT clientorder_payment_id_key UNIQUE (payment_id),
|
|---|
| 415 | CONSTRAINT clientorder_pkey PRIMARY KEY (id),
|
|---|
| 416 | CONSTRAINT clientorder_client_id_fkey FOREIGN KEY (client_id) REFERENCES synergymed.client(user_id),
|
|---|
| 417 | CONSTRAINT clientorder_delivery_company_id_fkey FOREIGN KEY (delivery_company_id) REFERENCES synergymed.deliverycompany(company_id),
|
|---|
| 418 | CONSTRAINT clientorder_payment_id_fkey FOREIGN KEY (payment_id) REFERENCES synergymed.payment(id)
|
|---|
| 419 | );
|
|---|
| 420 |
|
|---|
| 421 |
|
|---|
| 422 | -- synergymed.clientorder_brandedmedicine definition
|
|---|
| 423 |
|
|---|
| 424 | -- Drop table
|
|---|
| 425 |
|
|---|
| 426 | -- DROP TABLE synergymed.clientorder_brandedmedicine;
|
|---|
| 427 |
|
|---|
| 428 | CREATE TABLE synergymed.clientorder_brandedmedicine (
|
|---|
| 429 | order_id int4 NOT NULL,
|
|---|
| 430 | branded_medicine_id int4 NOT NULL,
|
|---|
| 431 | quantity int4 NOT NULL,
|
|---|
| 432 | CONSTRAINT clientorder_brandedmedicine_pkey PRIMARY KEY (order_id, branded_medicine_id),
|
|---|
| 433 | CONSTRAINT clientorderbrandedmedicine_branded_medicine_id_fkey FOREIGN KEY (branded_medicine_id) REFERENCES synergymed.brandedmedicine(id),
|
|---|
| 434 | CONSTRAINT clientorderbrandedmedicine_order_id_fkey FOREIGN KEY (order_id) REFERENCES synergymed.clientorder(id)
|
|---|
| 435 | );
|
|---|
| 436 |
|
|---|
| 437 |
|
|---|
| 438 | -- synergymed.contactinformation definition
|
|---|
| 439 |
|
|---|
| 440 | -- Drop table
|
|---|
| 441 |
|
|---|
| 442 | -- DROP TABLE synergymed.contactinformation;
|
|---|
| 443 |
|
|---|
| 444 | CREATE TABLE synergymed.contactinformation (
|
|---|
| 445 | id int4 GENERATED BY DEFAULT AS IDENTITY( INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START 1 CACHE 1 NO CYCLE) NOT NULL,
|
|---|
| 446 | phone varchar(20) NULL,
|
|---|
| 447 | address varchar(255) NULL,
|
|---|
| 448 | user_id int4 NULL,
|
|---|
| 449 | facility_id int4 NULL,
|
|---|
| 450 | CONSTRAINT contactinformation_pkey PRIMARY KEY (id),
|
|---|
| 451 | CONSTRAINT contactinformation_target_oneof_chk CHECK (((((user_id IS NOT NULL))::integer + ((facility_id IS NOT NULL))::integer) = 1)),
|
|---|
| 452 | CONSTRAINT contactinformation_facility_id_fkey FOREIGN KEY (facility_id) REFERENCES synergymed.facility(id) ON DELETE CASCADE,
|
|---|
| 453 | CONSTRAINT contactinformation_user_id_fkey FOREIGN KEY (user_id) REFERENCES synergymed.users(id)
|
|---|
| 454 | );
|
|---|
| 455 |
|
|---|
| 456 |
|
|---|
| 457 | -- synergymed.distributor_brandedmedicine definition
|
|---|
| 458 |
|
|---|
| 459 | -- Drop table
|
|---|
| 460 |
|
|---|
| 461 | -- DROP TABLE synergymed.distributor_brandedmedicine;
|
|---|
| 462 |
|
|---|
| 463 | CREATE TABLE synergymed.distributor_brandedmedicine (
|
|---|
| 464 | distributor_id int4 NOT NULL,
|
|---|
| 465 | branded_medicine_id int4 NOT NULL,
|
|---|
| 466 | CONSTRAINT distributorbrandedmedicine_pkey PRIMARY KEY (distributor_id, branded_medicine_id),
|
|---|
| 467 | CONSTRAINT distributorbrandedmedicine_branded_medicine_id_fkey FOREIGN KEY (branded_medicine_id) REFERENCES synergymed.brandedmedicine(id),
|
|---|
| 468 | CONSTRAINT distributorbrandedmedicine_distributor_id_fkey FOREIGN KEY (distributor_id) REFERENCES synergymed.distributor(company_id)
|
|---|
| 469 | );
|
|---|
| 470 |
|
|---|
| 471 |
|
|---|
| 472 | -- synergymed.inventory_brandedmedicine definition
|
|---|
| 473 |
|
|---|
| 474 | -- Drop table
|
|---|
| 475 |
|
|---|
| 476 | -- DROP TABLE synergymed.inventory_brandedmedicine;
|
|---|
| 477 |
|
|---|
| 478 | CREATE TABLE synergymed.inventory_brandedmedicine (
|
|---|
| 479 | inventory_id int4 NOT NULL,
|
|---|
| 480 | branded_medicine_id int4 NOT NULL,
|
|---|
| 481 | quantity int4 NOT NULL,
|
|---|
| 482 | last_changed date NOT NULL,
|
|---|
| 483 | CONSTRAINT inventorybrandedmedicine_pkey PRIMARY KEY (inventory_id, branded_medicine_id),
|
|---|
| 484 | CONSTRAINT inventorybrandedmedicine_branded_medicine_id_fkey FOREIGN KEY (branded_medicine_id) REFERENCES synergymed.brandedmedicine(id),
|
|---|
| 485 | CONSTRAINT inventorybrandedmedicine_inventory_id_fkey FOREIGN KEY (inventory_id) REFERENCES synergymed.inventory(id)
|
|---|
| 486 | );
|
|---|
| 487 |
|
|---|
| 488 |
|
|---|
| 489 | -- synergymed.pharmacy_catalog definition
|
|---|
| 490 |
|
|---|
| 491 | -- Drop table
|
|---|
| 492 |
|
|---|
| 493 | -- DROP TABLE synergymed.pharmacy_catalog;
|
|---|
| 494 |
|
|---|
| 495 | CREATE TABLE synergymed.pharmacy_catalog (
|
|---|
| 496 | pharmacy_id int4 NOT NULL,
|
|---|
| 497 | branded_medicine_id int4 NOT NULL,
|
|---|
| 498 | CONSTRAINT pharmacy_catalog_pkey PRIMARY KEY (pharmacy_id, branded_medicine_id),
|
|---|
| 499 | CONSTRAINT pharmacybrandedmedicine_branded_medicine_id_fkey FOREIGN KEY (branded_medicine_id) REFERENCES synergymed.brandedmedicine(id),
|
|---|
| 500 | CONSTRAINT pharmacybrandedmedicine_pharmacy_id_fkey FOREIGN KEY (pharmacy_id) REFERENCES synergymed.pharmacy(company_id)
|
|---|
| 501 | );
|
|---|
| 502 |
|
|---|
| 503 |
|
|---|
| 504 | -- synergymed.shoppingcart_brandedmedicine definition
|
|---|
| 505 |
|
|---|
| 506 | -- Drop table
|
|---|
| 507 |
|
|---|
| 508 | -- DROP TABLE synergymed.shoppingcart_brandedmedicine;
|
|---|
| 509 |
|
|---|
| 510 | CREATE TABLE synergymed.shoppingcart_brandedmedicine (
|
|---|
| 511 | shopping_cart_id int4 NOT NULL,
|
|---|
| 512 | branded_medicine_id int4 NOT NULL,
|
|---|
| 513 | quantity int4 NOT NULL,
|
|---|
| 514 | CONSTRAINT shoppingcartbrandedmedicine_pkey PRIMARY KEY (shopping_cart_id, branded_medicine_id),
|
|---|
| 515 | CONSTRAINT shoppingcartbrandedmedicine_branded_medicine_id_fkey FOREIGN KEY (branded_medicine_id) REFERENCES synergymed.brandedmedicine(id),
|
|---|
| 516 | CONSTRAINT shoppingcartbrandedmedicine_shopping_cart_id_fkey FOREIGN KEY (shopping_cart_id) REFERENCES synergymed.shoppingcart(id)
|
|---|
| 517 | );
|
|---|
| 518 |
|
|---|
| 519 |
|
|---|
| 520 | -- synergymed.supplyorder_brandedmedicine definition
|
|---|
| 521 |
|
|---|
| 522 | -- Drop table
|
|---|
| 523 |
|
|---|
| 524 | -- DROP TABLE synergymed.supplyorder_brandedmedicine;
|
|---|
| 525 |
|
|---|
| 526 | CREATE TABLE synergymed.supplyorder_brandedmedicine (
|
|---|
| 527 | supply_order_id int4 NOT NULL,
|
|---|
| 528 | branded_medicine_id int4 NOT NULL,
|
|---|
| 529 | quantity int4 NOT NULL,
|
|---|
| 530 | CONSTRAINT supplyorderbrandedmedicine_pkey PRIMARY KEY (supply_order_id, branded_medicine_id),
|
|---|
| 531 | CONSTRAINT supplyorderbrandedmedicine_branded_medicine_id_fkey FOREIGN KEY (branded_medicine_id) REFERENCES synergymed.brandedmedicine(id),
|
|---|
| 532 | CONSTRAINT supplyorderbrandedmedicine_supply_order_id_fkey FOREIGN KEY (supply_order_id) REFERENCES synergymed.supplyorder(id)
|
|---|
| 533 | );
|
|---|
| 534 |
|
|---|
| 535 |
|
|---|
| 536 | -- synergymed.branded_medicine_instanceof_medicine definition
|
|---|
| 537 |
|
|---|
| 538 | -- Drop table
|
|---|
| 539 |
|
|---|
| 540 | -- DROP TABLE synergymed.branded_medicine_instanceof_medicine;
|
|---|
| 541 |
|
|---|
| 542 | CREATE TABLE synergymed.branded_medicine_instanceof_medicine (
|
|---|
| 543 | branded_medicine_id int4 NOT NULL,
|
|---|
| 544 | medicine_id int4 NOT NULL,
|
|---|
| 545 | CONSTRAINT brandedmedicinemedicine_pkey PRIMARY KEY (branded_medicine_id, medicine_id),
|
|---|
| 546 | CONSTRAINT brandedmedicinemedicine_branded_medicine_id_fkey FOREIGN KEY (branded_medicine_id) REFERENCES synergymed.brandedmedicine(id),
|
|---|
| 547 | CONSTRAINT brandedmedicinemedicine_medicine_id_fkey FOREIGN KEY (medicine_id) REFERENCES synergymed.medicine(id)
|
|---|
| 548 | );
|
|---|