From 864a97663775d3eb1a119a0c0f3ffc2adeaf62b0 Mon Sep 17 00:00:00 2001
From: Artem Konenko <yadummer@gmail.com>
Date: Fri, 11 Nov 2016 19:59:37 +0300
Subject: [PATCH] #184 Update constraints

---
 .../constraints/V9_2__base_constraints.sql    | 76 +++++++++----------
 .../constraints/V9_3__logs_constraints.sql    | 34 ++++-----
 2 files changed, 53 insertions(+), 57 deletions(-)

diff --git a/db/migrations/constraints/V9_2__base_constraints.sql b/db/migrations/constraints/V9_2__base_constraints.sql
index a06dc655c..86d82a19b 100644
--- a/db/migrations/constraints/V9_2__base_constraints.sql
+++ b/db/migrations/constraints/V9_2__base_constraints.sql
@@ -1,7 +1,6 @@
 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
 SET time_zone = "+00:00";
 
-
 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
 /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
 /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
@@ -17,6 +16,13 @@ SET time_zone = "+00:00";
 ALTER TABLE `accounts`
   ADD CONSTRAINT `accounts_ibfk_1` FOREIGN KEY (`UserRoleID`) REFERENCES `user_roles` (`ID`);
 
+--
+-- Ограничения внешнего ключа таблицы `compound_disciplines`
+--
+ALTER TABLE `compound_disciplines`
+  ADD CONSTRAINT `compound_disciplines_ibfk_1` FOREIGN KEY (`SpecializationID`) REFERENCES `specializations` (`ID`),
+  ADD CONSTRAINT `compound_disciplines_ibfk_2` FOREIGN KEY (`GradeID`) REFERENCES `grades` (`ID`);
+
 --
 -- Ограничения внешнего ключа таблицы `departments`
 --
@@ -55,14 +61,12 @@ ALTER TABLE `disciplines_teachers`
   ADD CONSTRAINT `disciplines_teachers_ibfk_1` FOREIGN KEY (`DisciplineID`) REFERENCES `disciplines` (`ID`),
   ADD CONSTRAINT `disciplines_teachers_ibfk_2` FOREIGN KEY (`TeacherID`) REFERENCES `teachers` (`ID`);
 
-
 --
--- Ограничения внешнего ключа таблицы `recovery_tokens`
+-- Ограничения внешнего ключа таблицы `exam_period_options`
 --
-ALTER TABLE `recovery_tokens`
-  ADD CONSTRAINT `recovery_tokens_ibfk_1` FOREIGN KEY (`AccountID`) REFERENCES `accounts` (`ID`);
-
-
+ALTER TABLE `exam_period_options`
+  ADD CONSTRAINT `exam_period_options_ibfk_1` FOREIGN KEY (`SubmoduleID`) REFERENCES `submodules` (`ID`),
+  ADD CONSTRAINT `exam_period_options_ibfk_2` FOREIGN KEY (`StudentID`) REFERENCES `students` (`ID`);
 
 --
 -- Ограничения внешнего ключа таблицы `modules`
@@ -78,6 +82,17 @@ ALTER TABLE `rating_table`
   ADD CONSTRAINT `rating_table_ibfk_2` FOREIGN KEY (`SubmoduleID`) REFERENCES `submodules` (`ID`),
   ADD CONSTRAINT `rating_table_ibfk_3` FOREIGN KEY (`TeacherID`) REFERENCES `teachers` (`ID`);
 
+--
+-- Ограничения внешнего ключа таблицы `recovery_tokens`
+--
+ALTER TABLE `recovery_tokens`
+  ADD CONSTRAINT `recovery_tokens_ibfk_1` FOREIGN KEY (`AccountID`) REFERENCES `accounts` (`ID`);
+
+--
+-- Ограничения внешнего ключа таблицы `requests`
+--
+ALTER TABLE `requests`
+  ADD CONSTRAINT `requests_ibfk_1` FOREIGN KEY (`AccountID`) REFERENCES `accounts` (`ID`) ON DELETE SET NULL ON UPDATE SET NULL;
 
 --
 -- Ограничения внешнего ключа таблицы `specializations`
@@ -91,6 +106,14 @@ ALTER TABLE `specializations`
 ALTER TABLE `students`
   ADD CONSTRAINT `students_ibfk_2` FOREIGN KEY (`AccountID`) REFERENCES `accounts` (`ID`);
 
+--
+-- Ограничения внешнего ключа таблицы `students_groups`
+--
+ALTER TABLE `students_groups`
+  ADD CONSTRAINT `students_groups_ibfk_1` FOREIGN KEY (`StudentID`) REFERENCES `students` (`ID`),
+  ADD CONSTRAINT `students_groups_ibfk_2` FOREIGN KEY (`GroupID`) REFERENCES `study_groups` (`ID`),
+  ADD CONSTRAINT `students_groups_ibfk_3` FOREIGN KEY (`SemesterID`) REFERENCES `semesters` (`ID`);
+
 --
 -- Ограничения внешнего ключа таблицы `study_groups`
 --
@@ -98,6 +121,13 @@ ALTER TABLE `study_groups`
   ADD CONSTRAINT `study_groups_ibfk_1` FOREIGN KEY (`SpecializationID`) REFERENCES `specializations` (`ID`),
   ADD CONSTRAINT `study_groups_ibfk_2` FOREIGN KEY (`GradeID`) REFERENCES `grades` (`ID`);
 
+--
+-- Ограничения внешнего ключа таблицы `subjects_faculties`
+--
+ALTER TABLE `subjects_faculties`
+  ADD CONSTRAINT `subjects_faculties_ibfk_1` FOREIGN KEY (`FacultyID`) REFERENCES `faculties` (`ID`),
+  ADD CONSTRAINT `subjects_faculties_ibfk_2` FOREIGN KEY (`SubjectID`) REFERENCES `subjects` (`ID`);
+
 --
 -- Ограничения внешнего ключа таблицы `submodules`
 --
@@ -111,35 +141,3 @@ ALTER TABLE `teachers`
   ADD CONSTRAINT `teachers_ibfk_1` FOREIGN KEY (`AccountID`) REFERENCES `accounts` (`ID`),
   ADD CONSTRAINT `teachers_ibfk_2` FOREIGN KEY (`DepartmentID`) REFERENCES `departments` (`ID`),
   ADD CONSTRAINT `teachers_ibfk_3` FOREIGN KEY (`JobPositionID`) REFERENCES `job_positions` (`ID`);
-
-
---
--- Ограничения внешнего ключа таблицы `subjects_faculties`
---
-ALTER TABLE `subjects_faculties`
-  ADD CONSTRAINT `subjects_faculties_ibfk_1` FOREIGN KEY (`FacultyID`) REFERENCES `faculties` (`ID`),
-  ADD CONSTRAINT `subjects_faculties_ibfk_2` FOREIGN KEY (`SubjectID`) REFERENCES `subjects` (`ID`);
-
-
---
--- Ограничения внешнего ключа таблицы `students_groups`
---
-ALTER TABLE  `students_groups`
-  ADD CONSTRAINT `students_groups_ibfk_1` FOREIGN KEY (`StudentID`) REFERENCES `students` (`ID`),
-  ADD CONSTRAINT `students_groups_ibfk_2` FOREIGN KEY (`GroupID`) REFERENCES `study_groups` (`ID`),
-  ADD CONSTRAINT `students_groups_ibfk_3` FOREIGN KEY (`SemesterID`) REFERENCES `semesters` (`ID`);
-
-
---
--- Ограничения внешнего ключа таблицы `exam_period_options`
---
-ALTER TABLE `exam_period_options`
-  ADD CONSTRAINT `exam_period_options_ibfk_2` FOREIGN KEY (`StudentID`) REFERENCES `students` (`ID`),
-  ADD CONSTRAINT `exam_period_options_ibfk_1` FOREIGN KEY (`SubmoduleID`) REFERENCES `submodules` (`ID`);
-
---
--- Ограничения внешнего ключа таблицы `compound_disciplines`
---
-ALTER TABLE `compound_disciplines`
-  ADD CONSTRAINT `compound_disciplines_ibfk_1` FOREIGN KEY (`SpecializationID`) REFERENCES `specializations` (`ID`),
-  ADD CONSTRAINT `compound_disciplines_ibfk_2` FOREIGN KEY (`GradeID`) REFERENCES `grades` (`ID`);
diff --git a/db/migrations/constraints/V9_3__logs_constraints.sql b/db/migrations/constraints/V9_3__logs_constraints.sql
index 6231bcffe..1140bf683 100644
--- a/db/migrations/constraints/V9_3__logs_constraints.sql
+++ b/db/migrations/constraints/V9_3__logs_constraints.sql
@@ -7,6 +7,22 @@ SET time_zone = "+00:00";
 /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
 /*!40101 SET NAMES utf8 */;
 
+--
+-- Ограничения внешнего ключа таблицы `logs_binds_groups`
+--
+ALTER TABLE `logs_binds_groups`
+  ADD CONSTRAINT `logs_binds_groups_ibfk_1` FOREIGN KEY (`DisciplineID`) REFERENCES `disciplines` (`ID`),
+  ADD CONSTRAINT `logs_binds_groups_ibfk_2` FOREIGN KEY (`TeacherID`) REFERENCES `teachers` (`ID`),
+  ADD CONSTRAINT `logs_binds_groups_ibfk_3` FOREIGN KEY (`GroupID`) REFERENCES `study_groups` (`ID`);
+
+--
+-- Ограничения внешнего ключа таблицы `logs_binds_students`
+--
+ALTER TABLE `logs_binds_students`
+  ADD CONSTRAINT `logs_binds_students_ibfk_1` FOREIGN KEY (`DisciplineID`) REFERENCES `disciplines` (`ID`),
+  ADD CONSTRAINT `logs_binds_students_ibfk_2` FOREIGN KEY (`TeacherID`) REFERENCES `teachers` (`ID`),
+  ADD CONSTRAINT `logs_binds_students_ibfk_3` FOREIGN KEY (`StudentID`) REFERENCES `students` (`ID`);
+
 --
 -- Ограничения внешнего ключа таблицы `logs_rating`
 --
@@ -20,21 +36,3 @@ ALTER TABLE `logs_rating`
 --
 ALTER TABLE `logs_signin`
   ADD CONSTRAINT `logs_signin_ibfk_1` FOREIGN KEY (`AccountID`) REFERENCES `accounts` (`ID`);
-
-
---
--- Ограничения внешнего ключа таблицы `logs_binds_students`
---
-ALTER TABLE `logs_binds_students`
-  ADD CONSTRAINT `logs_binds_students_ibfk_3` FOREIGN KEY (`StudentID`) REFERENCES `students` (`ID`),
-  ADD CONSTRAINT `logs_binds_students_ibfk_1` FOREIGN KEY (`DisciplineID`) REFERENCES `disciplines` (`ID`),
-  ADD CONSTRAINT `logs_binds_students_ibfk_2` FOREIGN KEY (`TeacherID`) REFERENCES `teachers` (`ID`);
-
-
---
--- Ограничения внешнего ключа таблицы `logs_binds_groups`
---
-ALTER TABLE `logs_binds_groups`
-  ADD CONSTRAINT `logs_binds_groups_ibfk_3` FOREIGN KEY (`GroupID`) REFERENCES `study_groups` (`ID`),
-  ADD CONSTRAINT `logs_binds_groups_ibfk_1` FOREIGN KEY (`DisciplineID`) REFERENCES `disciplines` (`ID`),
-  ADD CONSTRAINT `logs_binds_groups_ibfk_2` FOREIGN KEY (`TeacherID`) REFERENCES `teachers` (`ID`);
-- 
GitLab