aboutsummaryrefslogtreecommitdiff
path: root/src/main/sql/base-schema/ddl-core.sql
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2013-01-05 17:24:07 +0100
committerTrygve Laugstøl <trygvis@inamo.no>2013-01-05 17:24:07 +0100
commit24036ef94687300e98c742cfc268a2b5e9e87a88 (patch)
treefb6be2434919717b18234c0820d39d174c02a969 /src/main/sql/base-schema/ddl-core.sql
parent7880fd60bb6ba5237d269a1b840a412c4438dd39 (diff)
downloadesper-testing-24036ef94687300e98c742cfc268a2b5e9e87a88.tar.gz
esper-testing-24036ef94687300e98c742cfc268a2b5e9e87a88.tar.bz2
esper-testing-24036ef94687300e98c742cfc268a2b5e9e87a88.tar.xz
esper-testing-24036ef94687300e98c742cfc268a2b5e9e87a88.zip
o Trying out dbdeploy.
Diffstat (limited to 'src/main/sql/base-schema/ddl-core.sql')
-rw-r--r--src/main/sql/base-schema/ddl-core.sql103
1 files changed, 103 insertions, 0 deletions
diff --git a/src/main/sql/base-schema/ddl-core.sql b/src/main/sql/base-schema/ddl-core.sql
new file mode 100644
index 0000000..6f1f101
--- /dev/null
+++ b/src/main/sql/base-schema/ddl-core.sql
@@ -0,0 +1,103 @@
+BEGIN;
+
+-- For dbdeploy
+CREATE TABLE changelog (
+ change_number INTEGER NOT NULL,
+ complete_dt TIMESTAMP NOT NULL,
+ applied_by VARCHAR(100) NOT NULL,
+ description VARCHAR(500) NOT NULL
+);
+
+ALTER TABLE changelog ADD CONSTRAINT pk_changelog PRIMARY KEY (change_number);
+
+DROP TABLE IF EXISTS build_participant;
+DROP TABLE IF EXISTS build;
+DROP SEQUENCE IF EXISTS build_seq;
+DROP TABLE IF EXISTS person_badge_progress;
+DROP TABLE IF EXISTS person_badge;
+DROP TABLE IF EXISTS person_jenkins_user;
+DROP TABLE IF EXISTS person;
+DROP TABLE IF EXISTS table_poller_status;
+
+CREATE TABLE table_poller_status (
+ poller_name VARCHAR(100) NOT NULL,
+ last_seq INT NOT NULL,
+ last_run TIMESTAMP,
+ duration INT,
+ status VARCHAR(1000),
+ CONSTRAINT pk_job_status PRIMARY KEY (poller_name)
+);
+
+CREATE TABLE person (
+ uuid CHAR(36) NOT NULL,
+ created_date TIMESTAMP NOT NULL,
+ name VARCHAR(100),
+ mail VARCHAR(100),
+ CONSTRAINT pk_person PRIMARY KEY (uuid)
+);
+
+--The users from the different jenkins servers this user has claimed
+CREATE TABLE person_jenkins_user (
+ person CHAR(36),
+ jenkins_user CHAR(36),
+ CONSTRAINT pk_person_jenkins_user PRIMARY KEY (person, jenkins_user),
+ CONSTRAINT fk_person_jenkins_user__person FOREIGN KEY (person) REFERENCES person (uuid),
+ CONSTRAINT fk_person_jenkins_user__jenkins_user FOREIGN KEY (jenkins_user) REFERENCES jenkins_user (uuid)
+);
+
+-- TODO: create a table with all badges?
+
+-- Badges received
+CREATE TABLE person_badge (
+ uuid CHAR(36) NOT NULL,
+ created_date TIMESTAMP NOT NULL,
+
+ person CHAR(36) NOT NULL,
+ name VARCHAR(100) NOT NULL,
+ level INT NOT NULL,
+ count INT NOT NULL,
+
+ CONSTRAINT pk_person_badge PRIMARY KEY (uuid),
+ CONSTRAINT uq_person_badge__person__name__level UNIQUE (person, name, level),
+ CONSTRAINT fk_person_badge__person FOREIGN KEY (person) REFERENCES person (uuid)
+);
+
+-- Badges the person is working on
+CREATE TABLE person_badge_progress (
+ uuid CHAR(36) NOT NULL,
+ created_date TIMESTAMP NOT NULL,
+
+ person CHAR(36) NOT NULL,
+ badge VARCHAR(100) NOT NULL,
+ state VARCHAR(8000) NOT NULL,
+
+ CONSTRAINT pk_person_badge_progress PRIMARY KEY (uuid),
+ CONSTRAINT fk_person_badge_progress__person FOREIGN KEY (person) REFERENCES person (uuid),
+ CONSTRAINT uq_person_badge_progress__person_badge UNIQUE (person, badge)
+);
+
+CREATE SEQUENCE build_seq;
+
+CREATE TABLE build (
+ uuid CHAR(36) NOT NULL,
+ created_date TIMESTAMP NOT NULL,
+
+ seq INT NOT NULL DEFAULT nextval('build_seq'),
+ timestamp TIMESTAMP NOT NULL,
+ success BOOL NOT NULL,
+
+ reference_type VARCHAR(100) NOT NULL,
+ reference_uuid CHAR(36) NOT NULL,
+
+ CONSTRAINT pk_build PRIMARY KEY (uuid)
+);
+
+CREATE TABLE build_participant (
+ build CHAR(36) NOT NULL,
+ person CHAR(36) NOT NULL,
+ CONSTRAINT pk_build_participant PRIMARY KEY (build, person),
+ CONSTRAINT fk_build_participant__build FOREIGN KEY (build) REFERENCES build (uuid),
+ CONSTRAINT fk_build_participant__person FOREIGN KEY (person) REFERENCES person (uuid)
+);
+
+COMMIT;