Files
packager/migrations/20230519222555_initial.sql

59 lines
1.5 KiB
MySQL
Raw Normal View History

CREATE TABLE "inventory_items" (
2023-08-29 21:33:59 +02:00
id VARCHAR(36) NOT NULL,
name TEXT NOT NULL,
description TEXT,
weight INTEGER NOT NULL,
category_id VARCHAR(36) NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (category_id) REFERENCES inventory_items_categories(id)
);
CREATE UNIQUE INDEX ux_unique ON inventory_items(name, category_id);
CREATE TABLE "inventory_items_categories" (
2023-08-29 21:33:59 +02:00
id VARCHAR(36) NOT NULL,
name TEXT NOT NULL,
description TEXT,
PRIMARY KEY (id),
UNIQUE (name)
);
CREATE TABLE "trips" (
2023-08-29 21:33:59 +02:00
id VARCHAR(36) NOT NULL,
name TEXT NOT NULL,
date_start DATE NOT NULL,
date_end DATE NOT NULL,
location TEXT,
2023-08-29 21:33:59 +02:00
state VARCHAR(8) NOT NULL,
comment TEXT,
temp_min INTEGER,
temp_max INTEGER,
2023-08-29 21:33:59 +02:00
PRIMARY KEY (id),
UNIQUE (name)
);
CREATE TABLE "trips_types" (
2023-08-29 21:33:59 +02:00
id VARCHAR(36) NOT NULL,
name TEXT NOT NULL,
PRIMARY KEY (id),
UNIQUE (name)
);
CREATE TABLE "trips_to_trips_types" (
2023-08-29 21:33:59 +02:00
trip_id VARCHAR(36) NOT NULL,
trip_type_id VARCHAR(36) NOT NULL,
PRIMARY KEY (trip_id, trip_type_id),
FOREIGN KEY(trip_id) REFERENCES "trips" (id),
FOREIGN KEY(trip_type_id) REFERENCES "trips_types" (id)
);
CREATE TABLE trips_items (
2023-08-29 21:33:59 +02:00
item_id VARCHAR(36) NOT NULL,
trip_id VARCHAR(36) NOT NULL,
pick BOOLEAN NOT NULL,
pack BOOLEAN NOT NULL,
new BOOLEAN NOT NULL,
PRIMARY KEY (item_id, trip_id),
FOREIGN KEY(item_id) REFERENCES "inventory_items" (id),
FOREIGN KEY(trip_id) REFERENCES "trips" (id)
);