--- /dev/null
+
+CREATE SCHEMA athletik;
+
+-- Athleten
+CREATE TABLE athletik.users (
+ id SERIAL not null,
+ username varchar not null,
+ name_user varchar not null,
+ email varchar not null,
+ pass varchar not null
+);
+
+ALTER TABLE athletik.users ADD CONSTRAINT users_pkey PRIMARY KEY (id);
+ALTER TABLE athletik.users ADD CONSTRAINT users_ukey UNIQUE (username);
+
+-- Geräte
+CREATE TABLE athletik.tools (
+ id SERIAL not null,
+ toolname_english varchar not null,
+ toolname_german varchar not null,
+ min_weight int4 not null default 0,
+ steps_weight int4 not null default 0,
+ description varchar default null
+);
+
+ALTER TABLE athletik.tools ADD CONSTRAINT tools_pkey PRIMARY KEY (id);
+
+-- Muskeln
+CREATE TABLE athletik.muscle (
+ id SERIAL not null,
+ name_latin varchar not null,
+ name_english varchar default null,
+ name_german varchar default null,
+ movement varchar not null
+);
+
+ALTER TABLE athletik.muscle ADD CONSTRAINT muscle_pkey PRIMARY KEY (id);
+
+-- Übungen
+CREATE TABLE athletik.exercise (
+ id SERIAL not null,
+ name_english varchar not null,
+ description_english varchar default null,
+ name_german varchar default null,
+ description_german varchar default null,
+ url_video varchar default null,
+
+ fk_tool int4 not null
+);
+
+ALTER TABLE athletik.exercise ADD CONSTRAINT exercise_pkey PRIMARY KEY (id);
+ALTER TABLE athletik.exercise ADD CONSTRAINT exercise_tool_fkey FOREIGN KEY (fk_tool) REFERENCES athletik.tools(id) ON UPDATE CASCADE ON DELETE CASCADE;
+
+-- Test
+CREATE TABLE athletik.test (
+ fk_user int4 not null,
+ fk_exercise int4 not null,
+ testdate timestamp not null default now(),
+ fmax decimal default 0
+);
+
+ALTER TABLE athletik.test ADD CONSTRAINT test_ukey UNIQUE (fk_exercise, fk_user, testdate);
+
+ALTER TABLE athletik.test ADD CONSTRAINT test_exercise_fkey FOREIGN KEY (fk_exercise) REFERENCES athletik.exercise(id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE athletik.test ADD CONSTRAINT test_user_fkey FOREIGN KEY (fk_user) REFERENCES athletik.users(id) ON UPDATE CASCADE ON DELETE CASCADE;
+
+-- Protokoll
+CREATE TABLE athletik.protokoll (
+ fk_user int4 not null,
+ fk_exercise int4 not null,
+ trainingdate timestamp not null default now(),
+ number_of_set int4 default 1,
+ repetitions int4 default 1,
+ weight int4 default 0
+);
+
+ALTER TABLE athletik.protokoll ADD CONSTRAINT protokoll_ukey UNIQUE (fk_exercise, fk_user, trainingdate, number_of_set);
+
+ALTER TABLE athletik.protokoll ADD CONSTRAINT protokoll_exercise_fkey FOREIGN KEY (fk_exercise) REFERENCES athletik.exercise(id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE athletik.protokoll ADD CONSTRAINT protokoll_user_fkey FOREIGN KEY (fk_user) REFERENCES athletik.users(id) ON UPDATE CASCADE ON DELETE CASCADE;
+
+-- Trainingspläne
+CREATE TABLE athletik.training (
+ id SERIAL not null,
+ title varchar not null,
+ description text default null,
+ fk_user int4 not null,
+ fk_exercise int4 not null,
+ repetitions_of_set int4 default 1,
+ repetitions int4 default 1,
+ factor_of_fmax int4 default 0,
+ created timestamp not null default now(),
+ valid_since timestamp not null default now()
+);
+
+ALTER TABLE athletik.training ADD CONSTRAINT training_ukey UNIQUE (fk_exercise, fk_user, repetitions_of_set, repetitions, factor_of_fmax);
+
+ALTER TABLE athletik.training ADD CONSTRAINT training_exercise_fkey FOREIGN KEY (fk_exercise) REFERENCES athletik.exercise(id) ON UPDATE CASCADE ON DELETE CASCADE;
+ALTER TABLE athletik.training ADD CONSTRAINT training_user_fkey FOREIGN KEY (fk_user) REFERENCES athletik.users(id) ON UPDATE CASCADE ON DELETE CASCADE;
+
+-- Log
+CREATE TABLE athletik.sqllog (
+ id SERIAL not null,
+ created timestamp not null default now(),
+ sql text not null,
+ fk_user int4 not null,
+ sid text not null,
+ script varchar not null
+);
+
+ALTER TABLE athletik.sqllog ADD CONSTRAINT sqllog_pkey PRIMARY KEY (id);
+
+ALTER TABLE athletik.sqllog ADD CONSTRAINT sqllog_user_fkey FOREIGN KEY (fk_user) REFERENCES athletik.users(id) ON UPDATE CASCADE ON DELETE CASCADE;
+
+
+
+
+-- ALTER SCHEMA athletik OWNER TO laktatnebel;
+
+-- ALTER TABLE athletik.users OWNER TO laktatnebel;
+-- ALTER TABLE athletik.tools OWNER TO laktatnebel;
+-- ALTER TABLE athletik.muscle OWNER TO laktatnebel;
+-- ALTER TABLE athletik.exercise OWNER TO laktatnebel;
+-- ALTER TABLE athletik.test OWNER TO laktatnebel;
+-- ALTER TABLE athletik.protokoll OWNER TO laktatnebel;
+-- ALTER TABLE athletik.training OWNER TO laktatnebel;
+-- ALTER TABLE athletik.sqllog OWNER TO laktatnebel;
+
+-- GRANT ALL ON SCHEMA athletik TO laktatnebel;
+
+
+ALTER SCHEMA athletik OWNER TO oleb;
+
+ALTER TABLE athletik.users OWNER TO oleb;
+ALTER TABLE athletik.tools OWNER TO oleb;
+ALTER TABLE athletik.muscle OWNER TO oleb;
+ALTER TABLE athletik.exercise OWNER TO oleb;
+ALTER TABLE athletik.test OWNER TO oleb;
+ALTER TABLE athletik.protokoll OWNER TO oleb;
+ALTER TABLE athletik.training OWNER TO oleb;
+ALTER TABLE athletik.sqllog OWNER TO oleb;
+
+GRANT ALL ON SCHEMA athletik TO oleb;
+
+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
- <groupId>de.laktatnebel.athletik</groupId>
- <artifactId>athletik.triathlon-coaching.com</artifactId>
+ <groupId>com.triathlon-coaching.product</groupId>
+ <artifactId>athletik</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
- <name>athletik.triathlon-coaching.com</name>
+ <name>${product.artifactId}</name>
+ <description>Athletik Training</description>
- <parent>
- <groupId>de.laktatnebel.maven</groupId>
- <artifactId>laktatnebelscript</artifactId>
- <version>2.1.9</version>
- </parent>
+ <modules>
+ <module>athletik-web</module>
+ <module>athletik-db</module>
+ </modules>
+
+ <scm>
+ <connection>scm:git:ssh://laktatnebel.de/srv/git/swim.git</connection>
+ <developerConnection>scm:git:ssh://laktatnebel.de/srv/git/swim.git</developerConnection>
+ <tag>HEAD</tag>
+ </scm>
+
+ <distributionManagement>
+ <repository>
+ <id>laktatnebel.release</id>
+ <name>Release Repository</name>
+ <url>file:///home/oleb/.m2/distribution</url>
+ </repository>
+ <snapshotRepository>
+ <id>laktatnebel.snapshots</id>
+ <uniqueVersion>false</uniqueVersion>
+ <name>Snapshot Repository</name>
+ <url>file:///home/oleb/.m2/distribution</url>
+ </snapshotRepository>
+ <site>
+ <id>laktatnebel.site</id>
+ <name>Sites</name>
+ <url>file:///home/oleb/.m2/site</url>
+ </site>
+ </distributionManagement>
</project>