|
4 | 4 |
|
5 | 5 | -- Generic tables
|
6 | 6 |
|
7 |
| -CREATE TABLE `mutations` ( |
8 |
| - `id` BIGINT AUTO_INCREMENT PRIMARY KEY, |
9 |
| - `table_name` VARCHAR(255) NOT NULL, |
10 |
| - `operation` ENUM ('INSERT', 'UPDATE', 'DELETE') NOT NULL, |
11 |
| - `old_value` JSON NULL, |
12 |
| - `new_value` JSON NULL, |
13 |
| - `mutation_timestamp` TIMESTAMP DEFAULT CURRENT_TIMESTAMP |
| 7 | +CREATE TABLE mutations ( |
| 8 | + id BIGINT AUTO_INCREMENT PRIMARY KEY, |
| 9 | + table_name VARCHAR(255) NOT NULL, |
| 10 | + operation ENUM ('INSERT', 'UPDATE', 'DELETE') NOT NULL, |
| 11 | + old_value JSON NULL, |
| 12 | + new_value JSON NULL, |
| 13 | + mutation_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP |
14 | 14 | ) ENGINE = InnoDB
|
15 | 15 | DEFAULT CHARSET = utf8mb4
|
16 | 16 | COLLATE = utf8mb4_unicode_ci;
|
17 | 17 |
|
18 |
| -CREATE TABLE `domain_events` ( |
19 |
| - `id` CHAR(36) NOT NULL, |
20 |
| - `aggregate_id` CHAR(36) NOT NULL, |
21 |
| - `name` VARCHAR(255) NOT NULL, |
22 |
| - `body` JSON NOT NULL, |
23 |
| - `occurred_on` TIMESTAMP NOT NULL, |
24 |
| - PRIMARY KEY (`id`) |
| 18 | +CREATE TABLE domain_events ( |
| 19 | + id CHAR(36) NOT NULL, |
| 20 | + aggregate_id CHAR(36) NOT NULL, |
| 21 | + name VARCHAR(255) NOT NULL, |
| 22 | + body JSON NOT NULL, |
| 23 | + occurred_on TIMESTAMP NOT NULL, |
| 24 | + PRIMARY KEY (id) |
25 | 25 | ) ENGINE = InnoDB
|
26 | 26 | DEFAULT CHARSET = utf8mb4
|
27 | 27 | COLLATE = utf8mb4_unicode_ci;
|
28 | 28 |
|
29 | 29 | -- Aggregates tables
|
30 | 30 |
|
31 |
| -CREATE TABLE `courses` ( |
32 |
| - `id` CHAR(36) NOT NULL, |
33 |
| - `name` VARCHAR(255) NOT NULL, |
34 |
| - `duration` VARCHAR(255) NOT NULL, |
35 |
| - PRIMARY KEY (`id`) |
| 31 | +CREATE TABLE courses ( |
| 32 | + id CHAR(36) NOT NULL, |
| 33 | + name VARCHAR(255) NOT NULL, |
| 34 | + duration VARCHAR(255) NOT NULL, |
| 35 | + PRIMARY KEY (id) |
36 | 36 | ) ENGINE = InnoDB
|
37 | 37 | DEFAULT CHARSET = utf8mb4
|
38 | 38 | COLLATE = utf8mb4_unicode_ci;
|
@@ -68,28 +68,62 @@ BEGIN
|
68 | 68 | VALUES ('courses', 'DELETE', JSON_OBJECT('id', old.id, 'name', old.name, 'duration', old.duration), NOW());
|
69 | 69 | END;
|
70 | 70 |
|
71 |
| -CREATE TABLE `courses_counter` ( |
72 |
| - `id` CHAR(36) NOT NULL, |
73 |
| - `total` INT NOT NULL, |
74 |
| - `existing_courses` JSON NOT NULL, |
75 |
| - PRIMARY KEY (`id`) |
| 71 | +CREATE TABLE courses_counter ( |
| 72 | + id CHAR(36) NOT NULL, |
| 73 | + total INT NOT NULL, |
| 74 | + existing_courses JSON NOT NULL, |
| 75 | + PRIMARY KEY (id) |
76 | 76 | ) ENGINE = InnoDB
|
77 | 77 | DEFAULT CHARSET = utf8mb4
|
78 | 78 | COLLATE = utf8mb4_unicode_ci;
|
79 | 79 |
|
80 |
| -INSERT INTO `courses_counter` |
| 80 | +INSERT INTO courses_counter (id, total, existing_courses) |
81 | 81 | VALUES ("cdf26d7d-3deb-4e8c-9f73-4ac085a8d6f3", 0, "[]");
|
82 | 82 |
|
| 83 | +CREATE TABLE steps ( |
| 84 | + id CHAR(36) NOT NULL, |
| 85 | + title VARCHAR(255) NOT NULL, |
| 86 | + duration INT NOT NULL, |
| 87 | + type VARCHAR(255) NOT NULL, |
| 88 | + PRIMARY KEY (id) |
| 89 | +) ENGINE = InnoDB |
| 90 | + DEFAULT CHARSET = utf8mb4 |
| 91 | + COLLATE = utf8mb4_unicode_ci; |
| 92 | + |
| 93 | +CREATE TABLE steps_video ( |
| 94 | + id CHAR(36) NOT NULL, |
| 95 | + url VARCHAR(255) NOT NULL, |
| 96 | + FOREIGN KEY (id) REFERENCES steps(id) ON DELETE CASCADE |
| 97 | +) ENGINE = InnoDB |
| 98 | + DEFAULT CHARSET = utf8mb4 |
| 99 | + COLLATE = utf8mb4_unicode_ci; |
| 100 | + |
| 101 | +CREATE TABLE steps_exercise ( |
| 102 | + id CHAR(36) NOT NULL, |
| 103 | + content VARCHAR(255) NOT NULL, |
| 104 | + FOREIGN KEY (id) REFERENCES steps(id) ON DELETE CASCADE |
| 105 | +) ENGINE = InnoDB |
| 106 | + DEFAULT CHARSET = utf8mb4 |
| 107 | + COLLATE = utf8mb4_unicode_ci; |
| 108 | + |
| 109 | +CREATE TABLE steps_quiz ( |
| 110 | + id CHAR(36) NOT NULL, |
| 111 | + questions TEXT NOT NULL, |
| 112 | + FOREIGN KEY (id) REFERENCES steps(id) ON DELETE CASCADE |
| 113 | +) ENGINE = InnoDB |
| 114 | + DEFAULT CHARSET = utf8mb4 |
| 115 | + COLLATE = utf8mb4_unicode_ci; |
| 116 | + |
83 | 117 |
|
84 | 118 | /* -------------------------
|
85 | 119 | BACKOFFICE CONTEXT
|
86 | 120 | ---------------------------- */
|
87 | 121 |
|
88 |
| -CREATE TABLE `backoffice_courses` ( |
89 |
| - `id` CHAR(36) NOT NULL, |
90 |
| - `name` VARCHAR(255) NOT NULL, |
91 |
| - `duration` VARCHAR(255) NOT NULL, |
92 |
| - PRIMARY KEY (`id`) |
| 122 | +CREATE TABLE backoffice_courses ( |
| 123 | + id CHAR(36) NOT NULL, |
| 124 | + name VARCHAR(255) NOT NULL, |
| 125 | + duration VARCHAR(255) NOT NULL, |
| 126 | + PRIMARY KEY (id) |
93 | 127 | ) ENGINE = InnoDB
|
94 | 128 | DEFAULT CHARSET = utf8mb4
|
95 | 129 | COLLATE = utf8mb4_unicode_ci;
|
0 commit comments