[UI] Handling users and passwords
[validation.git] / ui / db-scripts / akraino_blueprint_validation_db.sql
index 06aa4a8..b208564 100644 (file)
 
 SET FOREIGN_KEY_CHECKS=1;
 
-use akraino;
+use akraino_bluvalui;
 
+DROP TABLE IF EXISTS w_robot_test_result;
+DROP TABLE IF EXISTS validation_test_result;
 DROP TABLE IF EXISTS submission;
-DROP TABLE IF EXISTS blueprint_instance_for_validation;
+DROP TABLE IF EXISTS blueprint_instance_blueprint_layer;
+DROP TABLE IF EXISTS blueprint_instance;
+DROP TABLE IF EXISTS blueprint_layer;
 DROP TABLE IF EXISTS blueprint;
-DROP TABLE IF EXISTS silo;
 DROP TABLE IF EXISTS timeslot;
+DROP TABLE IF EXISTS blueprint_instance_timeslot;
 DROP TABLE IF EXISTS lab;
 
 create table lab (
    id bigint not NULL AUTO_INCREMENT,
-   lab text not NULL,
+   lab varchar(255) not NULL unique,
+   silo varchar(255) not NULL unique,
    CONSTRAINT id_pk PRIMARY KEY (id)
 );
 
@@ -42,51 +47,104 @@ create table timeslot (
       ON UPDATE NO ACTION ON DELETE NO ACTION
 );
 
-create table silo (
+CREATE TABLE blueprint
+(
    id bigint not NULL AUTO_INCREMENT,
-   silo text not NULL,
-   lab_id bigint not NULL,
-   CONSTRAINT id_pk PRIMARY KEY (id),
-   CONSTRAINT lab_id_fk2 FOREIGN KEY (lab_id)
-      REFERENCES lab (id) MATCH SIMPLE
-      ON UPDATE NO ACTION ON DELETE NO ACTION
+   blueprint_name varchar(255) not NULL unique,
+   CONSTRAINT id_pk PRIMARY KEY (id)
 );
 
-CREATE TABLE blueprint
+CREATE TABLE blueprint_layer
 (
    id bigint not NULL AUTO_INCREMENT,
-   blueprint_name varchar(20) not NULL unique,
+   layer varchar(255) not NULL unique,
    CONSTRAINT id_pk PRIMARY KEY (id)
 );
 
-CREATE TABLE blueprint_instance_for_validation
+CREATE TABLE blueprint_instance
 (
    id bigint not NULL AUTO_INCREMENT,
    blueprint_id bigint not NULL,
-   version text not NULL,
-   layer text not NULL,
-   layer_description text not NULL,
+   version varchar(255) not NULL,
    CONSTRAINT id_pk PRIMARY KEY (id),
    CONSTRAINT blueprint_id_fk FOREIGN KEY (blueprint_id)
       REFERENCES blueprint (id) MATCH SIMPLE
-      ON UPDATE NO ACTION ON DELETE NO ACTION
+      ON UPDATE NO ACTION ON DELETE NO ACTION,
+   unique (version, blueprint_id)
+);
+
+CREATE TABLE blueprint_instance_blueprint_layer
+(
+   blueprint_instance_id bigint not NULL,
+   blueprint_layer_id bigint not NULL,
+   CONSTRAINT blueprint_instance_id_fk2 FOREIGN KEY (blueprint_instance_id)
+      REFERENCES blueprint_instance (id) MATCH SIMPLE
+      ON UPDATE NO ACTION ON DELETE NO ACTION,
+   CONSTRAINT blueprint_layer_id_fk FOREIGN KEY (blueprint_layer_id)
+      REFERENCES blueprint_layer (id) MATCH SIMPLE
+      ON UPDATE NO ACTION ON DELETE NO ACTION,
+   unique (blueprint_instance_id, blueprint_layer_id)
+);
+
+CREATE TABLE blueprint_instance_timeslot
+(
+   blueprint_instance_id bigint not NULL,
+   timeslot_id bigint not NULL,
+   CONSTRAINT blueprint_instance_id_fk3 FOREIGN KEY (blueprint_instance_id)
+      REFERENCES blueprint_instance (id) MATCH SIMPLE
+      ON UPDATE NO ACTION ON DELETE NO ACTION,
+   CONSTRAINT timeslot_id_fk FOREIGN KEY (timeslot_id)
+      REFERENCES timeslot (id) MATCH SIMPLE
+      ON UPDATE NO ACTION ON DELETE NO ACTION,
+   unique (blueprint_instance_id, timeslot_id)
 );
 
 CREATE TABLE submission
 (
    id bigint not NULL AUTO_INCREMENT,
    status text not NULL,
-   jenkins_queue_job_item_url text,
-   nexus_result_url text,
-   blueprint_instance_for_validation_id bigint not NULL,
    timeslot_id bigint not NULL,
    CONSTRAINT id_pk PRIMARY KEY (id),
-   CONSTRAINT blueprint_instance_for_validation_id_fk FOREIGN KEY (blueprint_instance_for_validation_id)
-      REFERENCES blueprint_instance_for_validation (id) MATCH SIMPLE
-      ON UPDATE NO ACTION ON DELETE NO ACTION,
-   CONSTRAINT timeslot_id_fk FOREIGN KEY (timeslot_id)
+   CONSTRAINT timeslot_id_fk2 FOREIGN KEY (timeslot_id)
       REFERENCES timeslot (id) MATCH SIMPLE
       ON UPDATE NO ACTION ON DELETE NO ACTION
 );
 
+CREATE TABLE validation_test_result
+(
+   id bigint not NULL AUTO_INCREMENT,
+   blueprint_instance_id bigint not NULL,
+   all_layers boolean,
+   lab_id bigint not NULL,
+   timestamp varchar(255),
+   optional boolean,
+   result boolean,
+   submission_id bigint,
+   date_of_storage text,
+   CONSTRAINT id_pk PRIMARY KEY (id),
+   CONSTRAINT lab_id_fk2 FOREIGN KEY (lab_id)
+      REFERENCES lab (id) MATCH SIMPLE
+      ON UPDATE NO ACTION ON DELETE NO ACTION,
+   CONSTRAINT submission_id_fk FOREIGN KEY (submission_id)
+      REFERENCES submission (id) MATCH SIMPLE
+      ON UPDATE NO ACTION ON DELETE NO ACTION,
+   CONSTRAINT blueprint_instance_id_fk FOREIGN KEY (blueprint_instance_id)
+      REFERENCES blueprint_instance (id) MATCH SIMPLE
+      ON UPDATE NO ACTION ON DELETE NO ACTION,
+   unique (timestamp, lab_id)
+);
+
+CREATE TABLE w_robot_test_result
+(
+   id bigint not NULL AUTO_INCREMENT,
+   layer varchar(255) not NULL,
+   validation_test_result_id bigint not NULL,
+   robot_test_results LONGTEXT,
+   CONSTRAINT id_pk PRIMARY KEY (id),
+   CONSTRAINT validation_test_result_id_fk FOREIGN KEY (validation_test_result_id)
+      REFERENCES validation_test_result (id) MATCH SIMPLE
+      ON UPDATE NO ACTION ON DELETE NO ACTION,
+   unique (layer, validation_test_result_id)
+);
+
 commit;