From 1cdaf75d8917c8b1582b535eae0ac68191fe75c7 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 26 Aug 2019 14:13:30 +0200 Subject: [PATCH] implemented datastructure (persons, projects and link between) --- wecker_manufaktur/sql/DATA_WECKER_MANUFAKTUR.php | 6 +++++- .../sql/mysql/person_projects.schema.sql | 11 +++++++++++ .../sql/mysql/project_focus.schema.sql | 13 +++++++++++++ .../sql/mysql/project_type.schema.sql | 13 +++++++++++++ wecker_manufaktur/sql/mysql/projects.schema.sql | 14 ++++++++++++++ 5 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 wecker_manufaktur/sql/mysql/person_projects.schema.sql create mode 100644 wecker_manufaktur/sql/mysql/project_focus.schema.sql create mode 100644 wecker_manufaktur/sql/mysql/project_type.schema.sql create mode 100644 wecker_manufaktur/sql/mysql/projects.schema.sql diff --git a/wecker_manufaktur/sql/DATA_WECKER_MANUFAKTUR.php b/wecker_manufaktur/sql/DATA_WECKER_MANUFAKTUR.php index 3c98c3b..6c01f4c 100644 --- a/wecker_manufaktur/sql/DATA_WECKER_MANUFAKTUR.php +++ b/wecker_manufaktur/sql/DATA_WECKER_MANUFAKTUR.php @@ -6,6 +6,10 @@ class DATA_WECKER_MANUFAKTUR extends \SYSTEM\DB\QI { return array( (new \PSQL('/mysql/system_page.sql'))->SERVERPATH(), (new \PSQL('/mysql/system_text.sql'))->SERVERPATH(), (new \PSQL('/mysql/persons.schema.sql'))->SERVERPATH(), - (new \PSQL('/mysql/person_badges.schema.sql'))->SERVERPATH()); + (new \PSQL('/mysql/person_badges.schema.sql'))->SERVERPATH(), + (new \PSQL('/mysql/projects.schema.sql'))->SERVERPATH(), + (new \PSQL('/mysql/projects_focus.schema.sql'))->SERVERPATH(), + (new \PSQL('/mysql/projects_type.schema.sql'))->SERVERPATH(), + (new \PSQL('/mysql/person_projects.schema.sql'))->SERVERPATH()); } } \ No newline at end of file diff --git a/wecker_manufaktur/sql/mysql/person_projects.schema.sql b/wecker_manufaktur/sql/mysql/person_projects.schema.sql new file mode 100644 index 0000000..ae52b3d --- /dev/null +++ b/wecker_manufaktur/sql/mysql/person_projects.schema.sql @@ -0,0 +1,11 @@ +CREATE TABLE `person_projects` ( + `person` INT(10) UNSIGNED NOT NULL, + `project` INT(10) UNSIGNED NOT NULL, + PRIMARY KEY (`project`, `person`), + INDEX `FK_person_projects_persons` (`person`), + CONSTRAINT `FK_person_projects_persons` FOREIGN KEY (`person`) REFERENCES `persons` (`id`) ON UPDATE CASCADE ON DELETE CASCADE, + CONSTRAINT `FK_person_projects_projects` FOREIGN KEY (`project`) REFERENCES `projects` (`id`) ON UPDATE CASCADE ON DELETE CASCADE +) +COLLATE='utf8mb4_unicode_ci' +ENGINE=InnoDB +; \ No newline at end of file diff --git a/wecker_manufaktur/sql/mysql/project_focus.schema.sql b/wecker_manufaktur/sql/mysql/project_focus.schema.sql new file mode 100644 index 0000000..04dd1bd --- /dev/null +++ b/wecker_manufaktur/sql/mysql/project_focus.schema.sql @@ -0,0 +1,13 @@ +CREATE TABLE `project_focus` ( + `project` INT(10) UNSIGNED NOT NULL, + `focus` VARCHAR(20) NOT NULL COLLATE 'utf8mb4_unicode_ci', + `color` VARCHAR(20) NOT NULL DEFAULT 'badge-primary' COLLATE 'utf8mb4_unicode_ci', + `order` INT(10) UNSIGNED NOT NULL, + `visible` INT(10) UNSIGNED NOT NULL DEFAULT 1, + PRIMARY KEY (`project`, `focus`), + INDEX `project` (`project`), + CONSTRAINT `FK_project_focus_projects` FOREIGN KEY (`project`) REFERENCES `projects` (`id`) ON UPDATE CASCADE ON DELETE CASCADE +) +COLLATE='utf8mb4_unicode_ci' +ENGINE=InnoDB +; \ No newline at end of file diff --git a/wecker_manufaktur/sql/mysql/project_type.schema.sql b/wecker_manufaktur/sql/mysql/project_type.schema.sql new file mode 100644 index 0000000..bc45947 --- /dev/null +++ b/wecker_manufaktur/sql/mysql/project_type.schema.sql @@ -0,0 +1,13 @@ +CREATE TABLE `project_type` ( + `project` INT(10) UNSIGNED NOT NULL, + `type` VARCHAR(20) NOT NULL COLLATE 'utf8mb4_unicode_ci', + `color` VARCHAR(20) NOT NULL DEFAULT 'badge-primary' COLLATE 'utf8mb4_unicode_ci', + `order` INT(10) UNSIGNED NOT NULL, + `visible` INT(10) UNSIGNED NOT NULL DEFAULT 1, + PRIMARY KEY (`project`, `type`), + INDEX `project` (`project`), + CONSTRAINT `FK_project_type_projects` FOREIGN KEY (`project`) REFERENCES `projects` (`id`) ON UPDATE CASCADE ON DELETE CASCADE +) +COLLATE='utf8mb4_unicode_ci' +ENGINE=InnoDB +; \ No newline at end of file diff --git a/wecker_manufaktur/sql/mysql/projects.schema.sql b/wecker_manufaktur/sql/mysql/projects.schema.sql new file mode 100644 index 0000000..67c6c19 --- /dev/null +++ b/wecker_manufaktur/sql/mysql/projects.schema.sql @@ -0,0 +1,14 @@ +CREATE TABLE `projects` ( + `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, + `name` VARCHAR(50) NOT NULL COLLATE 'utf8mb4_unicode_ci', + `img` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci', + `info` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci', + `website` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci', + `order` INT(10) UNSIGNED NOT NULL, + `visible` INT(10) UNSIGNED NOT NULL DEFAULT 1, + PRIMARY KEY (`id`) +) +COLLATE='utf8mb4_unicode_ci' +ENGINE=InnoDB +AUTO_INCREMENT=1 +; \ No newline at end of file