implemented datastructure (persons, projects and link between)

This commit is contained in:
Ulf Gebhardt 2019-08-26 14:13:30 +02:00
parent 146c8e06a1
commit 1cdaf75d89
No known key found for this signature in database
GPG Key ID: 81308EFE29ABFEBD
5 changed files with 56 additions and 1 deletions

View File

@ -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());
}
}

View File

@ -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
;

View File

@ -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
;

View File

@ -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
;

View File

@ -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
;