Rebooting
This commit is contained in:
parent
41ee2857ee
commit
6030310caa
149 changed files with 1489 additions and 9755 deletions
5
migrations/00001_AddUsers_down.sql
Normal file
5
migrations/00001_AddUsers_down.sql
Normal file
|
@ -0,0 +1,5 @@
|
|||
-- bactdb
|
||||
-- Matthew R Dillon
|
||||
|
||||
DROP TABLE users;
|
||||
|
20
migrations/00001_AddUsers_up.sql
Normal file
20
migrations/00001_AddUsers_up.sql
Normal file
|
@ -0,0 +1,20 @@
|
|||
-- bactdb
|
||||
-- Matthew R Dillon
|
||||
|
||||
CREATE TABLE users (
|
||||
id BIGSERIAL NOT NULL,
|
||||
username CHARACTER VARYING(100) NOT NULL,
|
||||
password CHARACTER VARYING(100) NOT NULL,
|
||||
|
||||
created_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
updated_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
deleted_at TIMESTAMP WITH TIME ZONE NULL,
|
||||
|
||||
CONSTRAINT users_pkey PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX username_idx
|
||||
ON users
|
||||
USING btree
|
||||
(username COLLATE pg_catalog."default");
|
||||
|
5
migrations/00002_AddGenera_down.sql
Normal file
5
migrations/00002_AddGenera_down.sql
Normal file
|
@ -0,0 +1,5 @@
|
|||
-- bactdb
|
||||
-- Matthew R Dillon
|
||||
|
||||
DROP TABLE genera;
|
||||
|
14
migrations/00002_AddGenera_up.sql
Normal file
14
migrations/00002_AddGenera_up.sql
Normal file
|
@ -0,0 +1,14 @@
|
|||
-- bactdb
|
||||
-- Matthew R Dillon
|
||||
|
||||
CREATE TABLE genera (
|
||||
id BIGSERIAL NOT NULL,
|
||||
genus_name CHARACTER VARYING(100) NOT NULL,
|
||||
|
||||
created_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
updated_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
deleted_at TIMESTAMP WITH TIME ZONE NULL,
|
||||
|
||||
CONSTRAINT genus_pkey PRIMARY KEY (id)
|
||||
);
|
||||
|
5
migrations/00003_AddSpecies_down.sql
Normal file
5
migrations/00003_AddSpecies_down.sql
Normal file
|
@ -0,0 +1,5 @@
|
|||
-- bactdb
|
||||
-- Matthew R Dillon
|
||||
|
||||
DROP TABLE species;
|
||||
|
18
migrations/00003_AddSpecies_up.sql
Normal file
18
migrations/00003_AddSpecies_up.sql
Normal file
|
@ -0,0 +1,18 @@
|
|||
-- bactdb
|
||||
-- Matthew Dillon
|
||||
|
||||
CREATE TABLE species (
|
||||
id BIGSERIAL NOT NULL,
|
||||
genus_id BIGINT NOT NULL,
|
||||
species_name CHARACTER VARYING(100) NOT NULL,
|
||||
|
||||
created_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
updated_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
deleted_at TIMESTAMP WITH TIME ZONE NULL,
|
||||
|
||||
CONSTRAINT species_pkey PRIMARY KEY (id),
|
||||
FOREIGN KEY (genus_id) REFERENCES genera(id)
|
||||
);
|
||||
|
||||
CREATE INDEX genus_id_idx ON species (genus_id);
|
||||
|
5
migrations/00004_AddStrain_down.sql
Normal file
5
migrations/00004_AddStrain_down.sql
Normal file
|
@ -0,0 +1,5 @@
|
|||
-- bactdb
|
||||
-- Matthew R Dillon
|
||||
|
||||
DROP TABLE strains;
|
||||
|
23
migrations/00004_AddStrain_up.sql
Normal file
23
migrations/00004_AddStrain_up.sql
Normal file
|
@ -0,0 +1,23 @@
|
|||
-- bactdb
|
||||
-- Matthew R Dillon
|
||||
|
||||
CREATE TABLE strains (
|
||||
id BIGSERIAL NOT NULL,
|
||||
species_id BIGINT NOT NULL,
|
||||
strain_name CHARACTER VARYING(100) NOT NULL,
|
||||
strain_type CHARACTER VARYING(100) NOT NULL,
|
||||
etymology CHARACTER VARYING(500) NULL,
|
||||
accession_banks CHARACTER VARYING(100) NULL,
|
||||
genbank_embl_ddb CHARACTER VARYING(100) NULL,
|
||||
isolated_from CHARACTER VARYING(100) NULL,
|
||||
|
||||
created_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
updated_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
deleted_at TIMESTAMP WITH TIME ZONE NULL,
|
||||
|
||||
CONSTRAINT strain_pkey PRIMARY KEY (id),
|
||||
FOREIGN KEY (species_id) REFERENCES species(id)
|
||||
);
|
||||
|
||||
CREATE INDEX species_id_idx ON strains (species_id);
|
||||
|
5
migrations/00005_AddCharacteristicTypes_down.sql
Normal file
5
migrations/00005_AddCharacteristicTypes_down.sql
Normal file
|
@ -0,0 +1,5 @@
|
|||
-- bactdb
|
||||
-- Matthew R Dillon
|
||||
|
||||
DROP TABLE characteristic_types;
|
||||
|
14
migrations/00005_AddCharacteristicTypes_up.sql
Normal file
14
migrations/00005_AddCharacteristicTypes_up.sql
Normal file
|
@ -0,0 +1,14 @@
|
|||
-- bactdb
|
||||
-- Matthew R Dillon
|
||||
|
||||
CREATE TABLE characteristic_types (
|
||||
id BIGSERIAL NOT NULL,
|
||||
characteristic_type_name CHARACTER VARYING(100) NOT NULL,
|
||||
|
||||
created_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
updated_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
deleted_at TIMESTAMP WITH TIME ZONE NULL,
|
||||
|
||||
CONSTRAINT characteristic_types_pkey PRIMARY KEY (id)
|
||||
);
|
||||
|
5
migrations/00006_AddCharacteristics_down.sql
Normal file
5
migrations/00006_AddCharacteristics_down.sql
Normal file
|
@ -0,0 +1,5 @@
|
|||
-- bactdb
|
||||
-- Matthew R Dillon
|
||||
|
||||
DROP TABLE characteristics;
|
||||
|
18
migrations/00006_AddCharacteristics_up.sql
Normal file
18
migrations/00006_AddCharacteristics_up.sql
Normal file
|
@ -0,0 +1,18 @@
|
|||
-- bactdb
|
||||
-- Matthew R Dillon
|
||||
|
||||
CREATE TABLE characteristics (
|
||||
id BIGSERIAL NOT NULL,
|
||||
characteristic_name CHARACTER VARYING(100) NOT NULL,
|
||||
characteristic_type_id BIGINT NOT NULL,
|
||||
|
||||
created_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
updated_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
deleted_at TIMESTAMP WITH TIME ZONE NULL,
|
||||
|
||||
CONSTRAINT characteristics_pkey PRIMARY KEY (id),
|
||||
FOREIGN KEY (characteristic_type_id) REFERENCES characteristic_types(id)
|
||||
);
|
||||
|
||||
CREATE INDEX characteristic_type_id_idx ON characteristics (characteristic_type_id);
|
||||
|
5
migrations/00007_AddText_Measurement_Types_down.sql
Normal file
5
migrations/00007_AddText_Measurement_Types_down.sql
Normal file
|
@ -0,0 +1,5 @@
|
|||
-- bactdb
|
||||
-- Matthew R Dillon
|
||||
|
||||
DROP TABLE text_measurement_types;
|
||||
|
14
migrations/00007_AddText_Measurement_Types_up.sql
Normal file
14
migrations/00007_AddText_Measurement_Types_up.sql
Normal file
|
@ -0,0 +1,14 @@
|
|||
-- bactdb
|
||||
-- Matthew R Dillon
|
||||
|
||||
CREATE TABLE text_measurement_types (
|
||||
id BIGSERIAL NOT NULL,
|
||||
text_measurement_name CHARACTER VARYING(100) NOT NULL,
|
||||
|
||||
created_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
updated_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
deleted_at TIMESTAMP WITH TIME ZONE NULL,
|
||||
|
||||
CONSTRAINT text_measurements_pkey PRIMARY KEY (id)
|
||||
);
|
||||
|
5
migrations/00008_AddUnit_Types_down.sql
Normal file
5
migrations/00008_AddUnit_Types_down.sql
Normal file
|
@ -0,0 +1,5 @@
|
|||
-- bactdb
|
||||
-- Matthew R Dillon
|
||||
|
||||
DROP TABLE unit_types;
|
||||
|
15
migrations/00008_AddUnit_Types_up.sql
Normal file
15
migrations/00008_AddUnit_Types_up.sql
Normal file
|
@ -0,0 +1,15 @@
|
|||
-- bactdb
|
||||
-- Matthew R Dillon
|
||||
|
||||
CREATE TABLE unit_types (
|
||||
id BIGSERIAL NOT NULL,
|
||||
name CHARACTER VARYING(100) NOT NULL,
|
||||
symbol CHARACTER VARYING(10) NOT NULL,
|
||||
|
||||
created_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
updated_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
deleted_at TIMESTAMP WITH TIME ZONE NULL,
|
||||
|
||||
CONSTRAINT unit_types_pkey PRIMARY KEY (id)
|
||||
);
|
||||
|
5
migrations/00009_AddTest_Methods_down.sql
Normal file
5
migrations/00009_AddTest_Methods_down.sql
Normal file
|
@ -0,0 +1,5 @@
|
|||
-- bactdb
|
||||
-- Matthew R Dillon
|
||||
|
||||
DROP TABLE test_methods;
|
||||
|
14
migrations/00009_AddTest_Methods_up.sql
Normal file
14
migrations/00009_AddTest_Methods_up.sql
Normal file
|
@ -0,0 +1,14 @@
|
|||
-- bactdb
|
||||
-- Matthew R Dillon
|
||||
|
||||
CREATE TABLE test_methods (
|
||||
id BIGSERIAL NOT NULL,
|
||||
name CHARACTER VARYING(100) NOT NULL,
|
||||
|
||||
created_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
updated_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
deleted_at TIMESTAMP WITH TIME ZONE NULL,
|
||||
|
||||
CONSTRAINT test_methods_pkey PRIMARY KEY (id)
|
||||
);
|
||||
|
5
migrations/00010_AddMeasurements_down.sql
Normal file
5
migrations/00010_AddMeasurements_down.sql
Normal file
|
@ -0,0 +1,5 @@
|
|||
-- bactdb
|
||||
-- Matthew R Dillon
|
||||
|
||||
DROP TABLE measurements;
|
||||
|
52
migrations/00010_AddMeasurements_up.sql
Normal file
52
migrations/00010_AddMeasurements_up.sql
Normal file
|
@ -0,0 +1,52 @@
|
|||
-- bactdb
|
||||
-- Matthew R Dillon
|
||||
|
||||
CREATE TABLE measurements (
|
||||
id BIGSERIAL NOT NULL,
|
||||
strain_id BIGINT NOT NULL,
|
||||
characteristic_id BIGINT NOT NULL,
|
||||
text_measurement_type_id BIGINT NULL,
|
||||
txt_value CHARACTER VARYING(255) NULL,
|
||||
num_value NUMERIC(8, 3) NULL,
|
||||
confidence_interval NUMERIC(8, 3) NULL,
|
||||
unit_type_id BIGINT NULL,
|
||||
notes CHARACTER VARYING(255) NULL,
|
||||
test_method_id BIGINT NULL,
|
||||
|
||||
created_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
updated_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
|
||||
CONSTRAINT strainscharmeasurements_pkey PRIMARY KEY (id),
|
||||
FOREIGN KEY (strain_id) REFERENCES strains(id),
|
||||
FOREIGN KEY (characteristic_id) REFERENCES characteristics(id),
|
||||
FOREIGN KEY (text_measurement_type_id) REFERENCES text_measurement_types(id),
|
||||
FOREIGN KEY (unit_type_id) REFERENCES unit_types(id),
|
||||
FOREIGN KEY (test_method_id) REFERENCES test_methods(id),
|
||||
CONSTRAINT exclusive_data_type CHECK (
|
||||
(text_measurement_type_id IS NOT NULL
|
||||
AND txt_value IS NULL
|
||||
AND num_value IS NULL
|
||||
AND confidence_interval IS NULL
|
||||
AND unit_type_id IS NULL)
|
||||
OR
|
||||
(text_measurement_type_id IS NULL
|
||||
AND txt_value IS NULL
|
||||
AND num_value IS NOT NULL)
|
||||
OR
|
||||
(text_measurement_type_id IS NULL
|
||||
AND txt_value IS NOT NULL
|
||||
AND num_value IS NULL
|
||||
AND confidence_interval IS NULL
|
||||
AND unit_type_id IS NULL))
|
||||
);
|
||||
|
||||
CREATE INDEX strain_id_idx ON measurements (strain_id);
|
||||
|
||||
CREATE INDEX characteristic_id_idx ON measurements (characteristic_id);
|
||||
|
||||
CREATE INDEX text_measurement_type_id_idx ON measurements (text_measurement_type_id);
|
||||
|
||||
CREATE INDEX unit_type_id_idx ON measurements (unit_type_id);
|
||||
|
||||
CREATE INDEX test_method_id_idx ON measurements (test_method_id);
|
||||
|
Reference in a new issue