Skip to content

Commit

Permalink
Merge branch 'main' of github.com:earth-metabolome-initiative/emi-mon…
Browse files Browse the repository at this point in the history
…orepo
  • Loading branch information
mvisani committed Feb 8, 2024
2 parents b54b827 + 4236afe commit 47477d7
Show file tree
Hide file tree
Showing 16 changed files with 107 additions and 39 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,6 @@
CREATE TABLE samples (
id SERIAL PRIMARY KEY,
taxon_id INTEGER NOT NULL REFERENCES taxons(id) ON DELETE CASCADE,
name VARCHAR(255) NOT NULL,
description VARCHAR(512) NOT NULL,
latitude DOUBLE PRECISION,
longitude DOUBLE PRECISION,
altitude DOUBLE PRECISION,
sample_type_id INTEGER NOT NULL REFERENCES sample_types(id) ON DELETE CASCADE,
derived_from INTEGER REFERENCES samples(id) ON DELETE SET NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@
-- Items can be associated with one or more projects, and can be part of other items.
-- The ownership of an item may change over time, and an item may be associated with
-- one or more users. An item may have a parent item, and may be a container of other
-- items. This table defines the items that are tracked and managed by the system.
-- items. This table defines the items that are tracked and managed by the system.
-- An item can be movable or immovable.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
-- SQL defining the organizations locations table.
-- An organization may be present in one or more locations.
-- An organization may change locations over time.
CREATE TABLE organization_locations (
id SERIAL PRIMARY KEY,
organization_id INTEGER REFERENCES organizations(id),
location_id INTEGER REFERENCES locations(id),
previous_location_id INTEGER REFERENCES organization_locations(id),
state INTEGER NOT NULL,
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
created_by INTEGER REFERENCES users(id),
updated_by INTEGER REFERENCES users(id)
);
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
-- This file should undo anything in `up.sql`
DROP TABLE laboratories;
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
-- SQL defining the container_vertical_rules table.
-- The container rules define whether an item type can contain another item type.
-- For instance a rack can contain tubes, but a tube cannot contain a rack.
-- We define such rules in an allow-list fashion, meaning that if a rule is not defined,
-- then the item type cannot contain another item type. The rules are defined by an admin
-- user, and are used to enforce the containment rules when creating or updating items.
-- Some containers may only contain items that are within a certain temperature, humidity,
-- or pressure range. These constraints are also defined in the container rules.
CREATE TABLE container_vertical_rules (
id SERIAL PRIMARY KEY,
container_item_type_id INTEGER REFERENCES item_types(id),
contained_item_type_id INTEGER REFERENCES item_types(id),
temperature INTERVAL DEFAULT NULL,
humidity INTERVAL DEFAULT NULL,
pressure INTERVAL DEFAULT NULL,
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
created_by INTEGER REFERENCES users(id),
updated_by INTEGER REFERENCES users(id)
);
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
-- This file should undo anything in `up.sql`
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
-- SQL defining the item_types table.
-- An item type is a type of item that can be tracked and managed, may have a cost,
-- and may be rented. As such it as two different columns one for the cost, its currency,
-- and a cost per day for renting and the current of the renting cost. An item may have
-- an expiration date and may be associated with one or more projects (which is tracked
-- in the item_projects table).
CREATE TABLE item_types (
id SERIAL PRIMARY KEY,
name VARCHAR(255) NOT NULL UNIQUE,
description TEXT,
created_by INTEGER REFERENCES users(id),
updated_by INTEGER REFERENCES users(id),
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
-- This file should undo anything in `up.sql`
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
-- SQL defining the container_horizontal_rules table.
-- The container horizontal rules define whether an item type can be placed next to another item type.
-- For instance a acid product cannot be placed next to a base product. Generally speaking, most items
-- can be placed next to each other, but some items cannot be placed next to each other. These rules
-- are defined in the form of a deny-list, meaning that if a rule is not defined, then the item type
-- can be placed next to any other item type. The rules are defined by an admin user, and are used to
-- enforce the placement rules when creating or updating items. Some items may only be placed next to
-- items that are within a certain temperature, humidity, or pressure range. These constraints are also
-- defined in the container rules.
CREATE TABLE container_horizontal_rules (
id SERIAL PRIMARY KEY,
item_type_id INTEGER REFERENCES item_types(id),
other_item_type_id INTEGER REFERENCES item_types(id),
temperature INTERVAL DEFAULT NULL,
humidity INTERVAL DEFAULT NULL,
pressure INTERVAL DEFAULT NULL,
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
created_by INTEGER REFERENCES users(id),
updated_by INTEGER REFERENCES users(id)
);
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
-- This file should undo anything in `up.sql`
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
-- SQL defining the manufactured_item_types table.
-- A manufactured type is an item type that can be manufactured, sold, and bought. As such it
-- has a cost, its currency, and a cost per day for renting and the current of the renting
-- cost.
CREATE TABLE manufactured_item_types (
id SERIAL PRIMARY KEY,
item_type_id INTEGER REFERENCES item_types(id),
cost DECIMAL(10, 2) NOT NULL,
cost_per_day DECIMAL(10, 2) NOT NULL,
currency VARCHAR(3) NOT NULL,
manifacturer_id INTEGER REFERENCES organizations(id),
barcode VARCHAR(255) NOT NULL UNIQUE,
created_by INTEGER REFERENCES users(id),
updated_by INTEGER REFERENCES users(id),
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
-- This file should undo anything in `up.sql`
DROP TABLE expirable_item_types;
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
-- SQL defining the expirable_item_types table.
-- Item types appearing in this table have an expiration date, meaning that
-- they have an interval of time associated to them after which they are no longer
-- valid. This table is used to enforce the expiration date of items of a certain type.
CREATE TABLE expirable_item_types (
id SERIAL PRIMARY KEY,
item_type_id INTEGER REFERENCES item_types(id),
expiration_interval INTERVAL NOT NULL,
created_by INTEGER REFERENCES users(id),
updated_by INTEGER REFERENCES users(id),
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);

0 comments on commit 47477d7

Please sign in to comment.