Passed
Pull Request — master (#5720)
by
unknown
07:20
created

Version20240811221400   A

Complexity

Total Complexity 14

Size/Duplication

Total Lines 605
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 366
c 1
b 0
f 0
dl 0
loc 605
rs 10
wmc 14

3 Methods

Rating   Name   Duplication   Size   Complexity  
A down() 0 2 1
F up() 0 593 12
A getDescription() 0 3 1
1
<?php
2
declare(strict_types=1);
3
4
namespace Chamilo\CoreBundle\Migrations\Schema\V200;
5
6
use Chamilo\CoreBundle\Migrations\AbstractMigrationChamilo;
7
use Doctrine\DBAL\Schema\Schema;
8
9
final class Version20240811221400 extends AbstractMigrationChamilo
10
{
11
12
    public function getDescription(): string
13
    {
14
        return 'Migration to update foreign key constraints, drop and create indexes, and alter table structures to ensure data consistency and prevent errors during execution.';
15
    }
16
17
    public function up(Schema $schema): void
18
    {
19
20
        $this->addSql('SET FOREIGN_KEY_CHECKS = 0;');
21
22
        // resource_node
23
        $this->addSql('ALTER TABLE resource_node DROP FOREIGN KEY IF EXISTS FK_8A5F48FF7EE0A59A');
24
        $this->addSql('ALTER TABLE resource_node ADD CONSTRAINT FK_8A5F48FF7EE0A59A FOREIGN KEY (resource_format_id) REFERENCES resource_format (id)');
25
26
        // user
27
        if ($schema->getTable('user')->hasColumn('language')) {
28
            $this->addSql('ALTER TABLE user DROP COLUMN language');
29
        }
30
31
        // settings
32
        if ($schema->getTable('settings')->hasColumn('title')) {
33
            $this->addSql('ALTER TABLE settings CHANGE title title LONGTEXT NOT NULL');
34
        }
35
        if ($schema->getTable('settings')->hasColumn('comment')) {
36
            $this->addSql('ALTER TABLE settings CHANGE comment comment LONGTEXT DEFAULT NULL');
37
        }
38
39
        // extra_field
40
        if ($schema->getTable('extra_field')->hasColumn('helper_text')) {
41
            $this->addSql('ALTER TABLE extra_field CHANGE helper_text helper_text LONGTEXT DEFAULT NULL');
42
        }
43
44
        // system_template
45
        if ($schema->getTable('system_template')->hasColumn('language')) {
46
            $this->addSql('ALTER TABLE system_template CHANGE language language VARCHAR(40) DEFAULT NULL');
47
        }
48
49
        // notification_event_rel_user
50
        $this->addSql('ALTER TABLE notification_event_rel_user CHANGE id id INT AUTO_INCREMENT NOT NULL');
51
        $this->addSql('ALTER TABLE notification_event_rel_user CHANGE event_id event_id INT NOT NULL');
52
        $this->addSql('ALTER TABLE notification_event_rel_user CHANGE user_id user_id INT NOT NULL');
53
54
        $this->addSql('ALTER TABLE notification_event_rel_user DROP FOREIGN KEY IF EXISTS FK_9F7995A671F7E88B');
55
        $this->addSql('ALTER TABLE notification_event_rel_user DROP FOREIGN KEY IF EXISTS FK_9F7995A6A76ED395');
56
        $this->addSql('ALTER TABLE notification_event_rel_user ADD CONSTRAINT FK_9F7995A671F7E88B FOREIGN KEY (event_id) REFERENCES notification_event (id)');
57
        $this->addSql('ALTER TABLE notification_event_rel_user ADD CONSTRAINT FK_9F7995A6A76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
58
59
        // session_rel_course_rel_user
60
        $this->addSql('ALTER TABLE session_rel_course_rel_user DROP FOREIGN KEY IF EXISTS FK_720167EA76ED395');
61
        $this->addSql('ALTER TABLE session_rel_course_rel_user DROP FOREIGN KEY IF EXISTS FK_720167E613FECDF');
62
        $this->addSql('ALTER TABLE session_rel_course_rel_user ADD CONSTRAINT FK_720167EA76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
63
        $this->addSql('ALTER TABLE session_rel_course_rel_user ADD CONSTRAINT FK_720167E613FECDF FOREIGN KEY (session_id) REFERENCES session (id) ON DELETE CASCADE');
64
65
        // ticket_category_rel_user
66
        $this->addSql('ALTER TABLE ticket_category_rel_user DROP FOREIGN KEY IF EXISTS FK_5B8A987A76ED395');
67
        $this->addSql('ALTER TABLE ticket_category_rel_user ADD CONSTRAINT FK_5B8A987A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
68
69
        // track_e_attempt
70
        $this->addSql('DROP INDEX IF EXISTS course ON track_e_attempt');
71
        $this->addSql('DROP INDEX IF EXISTS session_id ON track_e_attempt');
72
        $this->addSql('ALTER TABLE track_e_attempt DROP COLUMN IF EXISTS c_id');
73
        $this->addSql('ALTER TABLE track_e_attempt DROP COLUMN IF EXISTS session_id');
74
75
        // course_request
76
        $this->addSql('ALTER TABLE course_request DROP FOREIGN KEY IF EXISTS FK_33548A73A76ED395');
77
        $this->addSql('ALTER TABLE course_request ADD CONSTRAINT FK_33548A73A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
78
79
        // course_rel_user_catalogue
80
        $this->addSql('ALTER TABLE course_rel_user_catalogue DROP FOREIGN KEY IF EXISTS FK_79CA412EA76ED395');
81
        $this->addSql('DROP INDEX IF EXISTS course_rel_user_catalogue_user_id ON course_rel_user_catalogue');
82
        $this->addSql('CREATE INDEX IF NOT EXISTS course_rel_user_catalogue_user_id ON course_rel_user_catalogue (user_id)');
83
        $this->addSql('ALTER TABLE course_rel_user_catalogue ADD CONSTRAINT FK_79CA412EA76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
84
85
        $this->addSql('ALTER TABLE course_rel_user_catalogue DROP FOREIGN KEY IF EXISTS FK_79CA412E91D79BD3');
86
        $this->addSql('DROP INDEX IF EXISTS course_rel_user_catalogue_c_id ON course_rel_user_catalogue');
87
        $this->addSql('CREATE INDEX IF NOT EXISTS course_rel_user_catalogue_c_id ON course_rel_user_catalogue (c_id)');
88
        $this->addSql('ALTER TABLE course_rel_user_catalogue ADD CONSTRAINT FK_79CA412E91D79BD3 FOREIGN KEY (c_id) REFERENCES course (id)');
89
90
        // ticket_ticket
91
        $this->addSql('ALTER TABLE ticket_ticket DROP FOREIGN KEY IF EXISTS FK_EB5B2A0D6285C987');
92
        $this->addSql('ALTER TABLE ticket_ticket DROP FOREIGN KEY IF EXISTS FK_EB5B2A0D6285C231');
93
        $this->addSql('ALTER TABLE ticket_ticket DROP FOREIGN KEY IF EXISTS FK_EDE2C768613FECDF');
94
        $this->addSql('ALTER TABLE ticket_ticket DROP FOREIGN KEY IF EXISTS FK_EDE2C768591CC992');
95
        $this->addSql('DROP INDEX IF EXISTS FK_EB5B2A0D6285C987 ON ticket_ticket');
96
        $this->addSql('DROP INDEX IF EXISTS FK_EB5B2A0D6285C231 ON ticket_ticket');
97
        $this->addSql('ALTER TABLE ticket_ticket ADD CONSTRAINT FK_EDE2C768613FECDF FOREIGN KEY (session_id) REFERENCES session (id) ON DELETE CASCADE');
98
        $this->addSql('ALTER TABLE ticket_ticket ADD CONSTRAINT FK_EDE2C768591CC992 FOREIGN KEY (course_id) REFERENCES course (id) ON DELETE CASCADE');
99
100
        // skill_rel_item_rel_user
101
        $this->addSql('ALTER TABLE skill_rel_item_rel_user DROP FOREIGN KEY IF EXISTS FK_D1133E0DA76ED395');
102
        $this->addSql('ALTER TABLE skill_rel_item_rel_user ADD CONSTRAINT FK_D1133E0DA76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
103
104
        // usergroup_rel_question
105
        $this->addSql('ALTER TABLE usergroup_rel_question DROP COLUMN IF EXISTS c_id');
106
107
        // fos_group
108
        $this->addSql('DROP INDEX IF EXISTS UNIQ_4B019DDB5E237E06 ON fos_group');
109
110
        // skill_rel_user_comment
111
        $this->addSql('ALTER TABLE skill_rel_user_comment DROP FOREIGN KEY IF EXISTS FK_7AE9F6B63AF3B65B');
112
        $this->addSql('ALTER TABLE skill_rel_user_comment ADD CONSTRAINT FK_7AE9F6B63AF3B65B FOREIGN KEY (feedback_giver_id) REFERENCES user (id) ON DELETE CASCADE');
113
114
        // portfolio_rel_tag
115
        $this->addSql('DROP INDEX IF EXISTS IDX_DB734472BAD26311 ON portfolio_rel_tag');
116
        $this->addSql('DROP INDEX IF EXISTS IDX_DB73447291D79BD3 ON portfolio_rel_tag');
117
        $this->addSql('DROP INDEX IF EXISTS IDX_DB734472613FECDF ON portfolio_rel_tag');
118
        $this->addSql('ALTER TABLE portfolio_rel_tag ADD COLUMN IF NOT EXISTS tag INT NOT NULL');
119
        $this->addSql('ALTER TABLE portfolio_rel_tag ADD COLUMN IF NOT EXISTS course INT NOT NULL');
120
        $this->addSql('ALTER TABLE portfolio_rel_tag DROP COLUMN IF EXISTS tag_id');
121
        $this->addSql('ALTER TABLE portfolio_rel_tag DROP COLUMN IF EXISTS c_id');
122
        $this->addSql('ALTER TABLE portfolio_rel_tag CHANGE COLUMN IF EXISTS session_id session INT DEFAULT NULL');
123
        $this->addSql('ALTER TABLE track_e_attempt_qualify CHANGE marks marks DOUBLE PRECISION NOT NULL');
124
        $this->addSql('ALTER TABLE track_e_attempt_qualify DROP FOREIGN KEY IF EXISTS FK_B88BC9BCB5A18F57');
125
        $this->addSql('ALTER TABLE track_e_attempt_qualify ADD CONSTRAINT FK_B88BC9BCB5A18F57 FOREIGN KEY (exe_id) REFERENCES track_e_exercises (exe_id) ON DELETE CASCADE');
126
127
        // ticket_assigned_log
128
        $this->addSql('ALTER TABLE ticket_assigned_log DROP FOREIGN KEY IF EXISTS FK_54B65868700047D2');
129
        $this->addSql('ALTER TABLE ticket_assigned_log DROP FOREIGN KEY IF EXISTS FK_54B65868A76ED395');
130
        $this->addSql('ALTER TABLE ticket_assigned_log ADD CONSTRAINT FK_54B65868700047D2 FOREIGN KEY (ticket_id) REFERENCES ticket_ticket (id) ON DELETE CASCADE');
131
        $this->addSql('ALTER TABLE ticket_assigned_log ADD CONSTRAINT FK_54B65868A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
132
133
        // track_course_ranking
134
        $this->addSql('DELETE t1 FROM track_course_ranking t1 INNER JOIN track_course_ranking t2 WHERE t1.id > t2.id AND t1.c_id = t2.c_id');
135
        $this->addSql('ALTER TABLE track_course_ranking DROP FOREIGN KEY IF EXISTS FK_4A2D3A7E91D79BD3');
136
        $this->addSql('DROP INDEX IF EXISTS UNIQ_4A2D3A7E91D79BD3 ON track_course_ranking');
137
        $this->addSql('ALTER TABLE track_course_ranking ADD CONSTRAINT FK_4A2D3A7E91D79BD3 FOREIGN KEY (c_id) REFERENCES course (id) ON DELETE CASCADE');
138
        $this->addSql('CREATE UNIQUE INDEX UNIQ_4A2D3A7E91D79BD3 ON track_course_ranking (c_id)');
139
140
        // course_rel_user
141
        $this->addSql('ALTER TABLE course_rel_user DROP FOREIGN KEY IF EXISTS FK_92CFD9FEA76ED395');
142
        $this->addSql('ALTER TABLE course_rel_user ADD CONSTRAINT FK_92CFD9FEA76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
143
144
        // extra_field_saved_search
145
        $this->addSql('ALTER TABLE extra_field_saved_search DROP FOREIGN KEY IF EXISTS FK_16ABE32AA76ED395');
146
        $this->addSql('ALTER TABLE extra_field_saved_search ADD CONSTRAINT FK_16ABE32AA76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
147
148
        // portfolio
149
        $this->addSql('ALTER TABLE portfolio DROP FOREIGN KEY IF EXISTS FK_A9ED1062A76ED395');
150
        $this->addSql('ALTER TABLE portfolio ADD CONSTRAINT FK_A9ED1062A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
151
152
        // permission_rel_role
153
        $this->addSql('ALTER TABLE permission_rel_role DROP FOREIGN KEY IF EXISTS FK_43723A27FED90CCA');
154
        $this->addSql('DROP INDEX IF EXISTS idx_43723a27fed90cca ON permission_rel_role');
155
        $this->addSql('CREATE INDEX IF NOT EXISTS IDX_14B93D3DFED90CCA ON permission_rel_role (permission_id)');
156
        $this->addSql('ALTER TABLE permission_rel_role ADD CONSTRAINT FK_43723A27FED90CCA FOREIGN KEY (permission_id) REFERENCES permission (id)');
157
158
        // track_e_hotpotatoes
159
        $this->addSql('ALTER TABLE track_e_hotpotatoes ADD COLUMN IF NOT EXISTS score SMALLINT NOT NULL');
160
        $this->addSql('ALTER TABLE track_e_hotpotatoes ADD COLUMN IF NOT EXISTS max_score SMALLINT NOT NULL');
161
        $this->addSql('ALTER TABLE track_e_hotpotatoes DROP COLUMN IF EXISTS exe_result');
162
        $this->addSql('ALTER TABLE track_e_hotpotatoes DROP COLUMN IF EXISTS exe_weighting');
163
164
        // notification
165
        if ($schema->getTable('notification')->hasColumn('title')) {
166
            $this->addSql('ALTER TABLE notification CHANGE title title VARCHAR(255) DEFAULT NULL');
167
        }
168
        if ($schema->getTable('notification')->hasColumn('content')) {
169
            $this->addSql('ALTER TABLE notification CHANGE content content LONGTEXT DEFAULT NULL');
170
        }
171
172
        // skill_rel_user
173
        $this->addSql('ALTER TABLE skill_rel_user DROP FOREIGN KEY IF EXISTS FK_79D3D95A5585C142');
174
        $this->addSql('ALTER TABLE skill_rel_user DROP FOREIGN KEY IF EXISTS FK_79D3D95AA76ED395');
175
        $this->addSql('ALTER TABLE skill_rel_user DROP FOREIGN KEY IF EXISTS FK_79D3D95A591CC992');
176
        $this->addSql('ALTER TABLE skill_rel_user DROP FOREIGN KEY IF EXISTS FK_79D3D95A613FECDF');
177
        $this->addSql('ALTER TABLE skill_rel_user ADD CONSTRAINT FK_79D3D95A5585C142 FOREIGN KEY (skill_id) REFERENCES skill (id) ON DELETE CASCADE');
178
        $this->addSql('ALTER TABLE skill_rel_user ADD CONSTRAINT FK_79D3D95AA76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
179
        $this->addSql('ALTER TABLE skill_rel_user ADD CONSTRAINT FK_79D3D95A591CC992 FOREIGN KEY (course_id) REFERENCES course (id) ON DELETE CASCADE');
180
        $this->addSql('ALTER TABLE skill_rel_user ADD CONSTRAINT FK_79D3D95A613FECDF FOREIGN KEY (session_id) REFERENCES session (id) ON DELETE CASCADE');
181
182
        // templates
183
        $this->addSql('ALTER TABLE templates DROP COLUMN IF EXISTS image');
184
185
        // ticket_message_attachments
186
        $this->addSql('ALTER TABLE ticket_message_attachments DROP FOREIGN KEY IF EXISTS FK_70BF9E26537A1329');
187
        $this->addSql('ALTER TABLE ticket_message_attachments DROP FOREIGN KEY IF EXISTS FK_70BF9E26700047D2');
188
        $this->addSql('ALTER TABLE ticket_message_attachments ADD CONSTRAINT FK_70BF9E26537A1329 FOREIGN KEY (message_id) REFERENCES ticket_message (id) ON DELETE CASCADE');
189
        $this->addSql('ALTER TABLE ticket_message_attachments ADD CONSTRAINT FK_70BF9E26700047D2 FOREIGN KEY (ticket_id) REFERENCES ticket_ticket (id) ON DELETE CASCADE');
190
191
        // session
192
        $this->addSql('ALTER TABLE session DROP FOREIGN KEY IF EXISTS FK_D044D5D4EF87E278');
193
        $this->addSql('ALTER TABLE session DROP FOREIGN KEY IF EXISTS FK_D044D5D4139DF194');
194
        $this->addSql('DROP INDEX IF EXISTS idx_id_session_admin_id ON session');
195
        $this->addSql('ALTER TABLE session DROP COLUMN IF EXISTS session_admin_id');
196
        $this->addSql('ALTER TABLE session DROP COLUMN IF EXISTS id_coach');
197
        $this->addSql('ALTER TABLE session ADD CONSTRAINT FK_D044D5D4139DF194 FOREIGN KEY (promotion_id) REFERENCES promotion (id) ON DELETE CASCADE');
198
199
        // permission
200
        $this->addSql('DROP INDEX IF EXISTS uniq_2dedcc6f989d9b62 ON permission');
201
        $this->addSql('CREATE UNIQUE INDEX IF NOT EXISTS UNIQ_E04992AA989D9B62 ON permission (slug)');
202
203
        // ticket_message
204
        $this->addSql('ALTER TABLE ticket_message DROP FOREIGN KEY IF EXISTS FK_BA71692D700047D2');
205
        $this->addSql('ALTER TABLE ticket_message ADD CONSTRAINT FK_BA71692D700047D2 FOREIGN KEY (ticket_id) REFERENCES ticket_ticket (id) ON DELETE CASCADE');
206
207
        // gradebook_category
208
        $this->addSql('ALTER TABLE gradebook_category DROP FOREIGN KEY IF EXISTS FK_96A4C705A76ED395');
209
        $this->addSql('ALTER TABLE gradebook_category ADD CONSTRAINT FK_96A4C705A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
210
211
        // session_rel_user
212
        $this->addSql('ALTER TABLE session_rel_user DROP FOREIGN KEY IF EXISTS FK_B0D7D4C0A76ED395');
213
        $this->addSql('ALTER TABLE session_rel_user ADD CONSTRAINT FK_B0D7D4C0A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
214
215
        // track_e_downloads
216
        $this->addSql('DROP INDEX IF EXISTS session_id ON track_e_downloads');
217
        $this->addSql('ALTER TABLE track_e_downloads DROP COLUMN IF EXISTS session_id');
218
219
        // admin
220
        $this->addSql('DROP INDEX IF EXISTS user_id ON admin');
221
222
        // user_rel_user
223
        if ($schema->getTable('user_rel_user')->hasColumn('last_edit')) {
224
            $this->addSql('ALTER TABLE user_rel_user DROP COLUMN last_edit');
225
        }
226
        if ($schema->getTable('user_rel_user')->hasColumn('created_at')) {
227
            $this->addSql('ALTER TABLE user_rel_user CHANGE created_at created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime)\'');
228
        }
229
        if ($schema->getTable('user_rel_user')->hasColumn('updated_at')) {
230
            $this->addSql('ALTER TABLE user_rel_user CHANGE updated_at updated_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime)\'');
231
        }
232
233
        // gradebook_comment
234
        $this->addSql('ALTER TABLE gradebook_comment DROP FOREIGN KEY IF EXISTS FK_C3B70763A76ED395');
235
        $this->addSql('ALTER TABLE gradebook_comment ADD CONSTRAINT FK_C3B70763A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
236
237
        // course
238
        if ($schema->getTable('course')->hasColumn('category_code')) {
239
            $this->addSql('ALTER TABLE course DROP COLUMN category_code');
240
        }
241
242
        // c_attendance
243
        $this->addSql('ALTER TABLE c_attendance DROP COLUMN IF EXISTS c_id');
244
        $this->addSql('ALTER TABLE c_attendance DROP COLUMN IF EXISTS id');
245
        $this->addSql('ALTER TABLE c_attendance DROP COLUMN IF EXISTS session_id');
246
247
        // c_forum_thread
248
        $this->addSql('ALTER TABLE c_forum_thread DROP FOREIGN KEY IF EXISTS FK_5DA7884CD4DC43B9');
249
        $this->addSql('DROP INDEX IF EXISTS idx_forum_thread_forum_id ON c_forum_thread');
250
        $this->addSql('ALTER TABLE c_forum_thread DROP COLUMN IF EXISTS c_id');
251
        $this->addSql('ALTER TABLE c_forum_thread DROP COLUMN IF EXISTS session_id');
252
        $this->addSql('ALTER TABLE c_forum_thread ADD CONSTRAINT FK_5DA7884CD4DC43B9 FOREIGN KEY (thread_poster_id) REFERENCES user (id) ON DELETE CASCADE');
253
254
        // c_calendar_event_attachment
255
        $this->addSql('ALTER TABLE c_calendar_event_attachment DROP COLUMN IF EXISTS id');
256
        $this->addSql('ALTER TABLE c_calendar_event_attachment DROP COLUMN IF EXISTS c_id');
257
        $this->addSql('ALTER TABLE c_calendar_event_attachment DROP COLUMN IF EXISTS path');
258
        $this->addSql('ALTER TABLE c_calendar_event_attachment DROP COLUMN IF EXISTS size');
259
260
        // c_lp
261
        $this->addSql('ALTER TABLE c_lp DROP COLUMN IF EXISTS c_id');
262
        $this->addSql('ALTER TABLE c_lp DROP COLUMN IF EXISTS id');
263
        $this->addSql('ALTER TABLE c_lp DROP COLUMN IF EXISTS preview_image');
264
        $this->addSql('ALTER TABLE c_lp DROP COLUMN IF EXISTS session_id');
265
266
        // c_student_publication_rel_document
267
        $this->addSql('ALTER TABLE c_student_publication_rel_document DROP COLUMN IF EXISTS c_id');
268
        $this->addSql('ALTER TABLE c_student_publication_rel_document DROP COLUMN IF EXISTS id');
269
270
        // c_student_publication_assignment
271
        $this->addSql('ALTER TABLE c_student_publication_assignment DROP COLUMN IF EXISTS c_id');
272
        $this->addSql('ALTER TABLE c_student_publication_assignment DROP COLUMN IF EXISTS id');
273
274
        // c_chat_connected
275
        $this->addSql('ALTER TABLE c_chat_connected DROP COLUMN IF EXISTS id');
276
277
        // c_quiz_answer
278
        $this->addSql('DROP INDEX IF EXISTS c_id ON c_quiz_answer');
279
        $this->addSql('ALTER TABLE c_quiz_answer DROP COLUMN IF EXISTS c_id');
280
281
        // c_lp_item_view
282
        $this->addSql('ALTER TABLE c_lp_item_view DROP COLUMN IF EXISTS c_id');
283
284
        // c_survey_answer
285
        $this->addSql('ALTER TABLE c_survey_answer DROP FOREIGN KEY IF EXISTS FK_8A897DD1E27F6BF');
286
        $this->addSql('ALTER TABLE c_survey_answer DROP FOREIGN KEY IF EXISTS FK_8A897DDB3FE509D');
287
        $this->addSql('ALTER TABLE c_survey_answer DROP COLUMN IF EXISTS c_id');
288
        $this->addSql('ALTER TABLE c_survey_answer DROP COLUMN IF EXISTS answer_id');
289
        $this->addSql('ALTER TABLE c_survey_answer ADD CONSTRAINT FK_8A897DD1E27F6BF FOREIGN KEY (question_id) REFERENCES c_survey_question (iid)');
290
        $this->addSql('ALTER TABLE c_survey_answer ADD CONSTRAINT FK_8A897DDB3FE509D FOREIGN KEY (survey_id) REFERENCES c_survey (iid) ON DELETE CASCADE');
291
292
        // c_lp_rel_user
293
        $this->addSql('ALTER TABLE c_lp_rel_user DROP FOREIGN KEY IF EXISTS FK_AD97516E61220EA6');
294
        $this->addSql('ALTER TABLE c_lp_rel_user DROP FOREIGN KEY IF EXISTS FK_AD97516EA76ED395');
295
        $this->addSql('ALTER TABLE c_lp_rel_user ADD CONSTRAINT FK_AD97516E61220EA6 FOREIGN KEY (creator_id) REFERENCES user (id) ON DELETE CASCADE');
296
        $this->addSql('ALTER TABLE c_lp_rel_user ADD CONSTRAINT FK_AD97516EA76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
297
298
        // c_forum_mailcue
299
        $this->addSql('ALTER TABLE c_forum_mailcue DROP COLUMN IF EXISTS id');
300
301
        // c_attendance_result
302
        $this->addSql('ALTER TABLE c_attendance_result DROP FOREIGN KEY IF EXISTS FK_2C7640A76ED395');
303
        $this->addSql('ALTER TABLE c_attendance_result DROP COLUMN IF EXISTS id');
304
        $this->addSql('ALTER TABLE c_attendance_result DROP COLUMN IF EXISTS c_id');
305
        $this->addSql('ALTER TABLE c_attendance_result ADD CONSTRAINT FK_2C7640A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
306
307
        // c_forum_category
308
        $this->addSql('ALTER TABLE c_forum_category DROP COLUMN IF EXISTS c_id');
309
        $this->addSql('ALTER TABLE c_forum_category DROP COLUMN IF EXISTS session_id');
310
        $this->addSql('ALTER TABLE c_forum_category DROP COLUMN IF EXISTS cat_id');
311
312
        // c_thematic
313
        $this->addSql('ALTER TABLE c_thematic DROP COLUMN IF EXISTS c_id');
314
        $this->addSql('ALTER TABLE c_thematic DROP COLUMN IF EXISTS id');
315
        $this->addSql('ALTER TABLE c_thematic DROP COLUMN IF EXISTS session_id');
316
317
        // c_glossary
318
        $this->addSql('ALTER TABLE c_glossary DROP COLUMN IF EXISTS c_id');
319
        $this->addSql('ALTER TABLE c_glossary DROP COLUMN IF EXISTS glossary_id');
320
        $this->addSql('ALTER TABLE c_glossary DROP COLUMN IF EXISTS session_id');
321
322
        // c_link_category
323
        $this->addSql('ALTER TABLE c_link_category DROP COLUMN IF EXISTS c_id');
324
        $this->addSql('ALTER TABLE c_link_category DROP COLUMN IF EXISTS id');
325
        $this->addSql('ALTER TABLE c_link_category DROP COLUMN IF EXISTS display_order');
326
        $this->addSql('ALTER TABLE c_link_category DROP COLUMN IF EXISTS session_id');
327
328
        // c_announcement
329
        $this->addSql('ALTER TABLE c_announcement DROP COLUMN IF EXISTS id');
330
        $this->addSql('ALTER TABLE c_announcement DROP COLUMN IF EXISTS c_id');
331
        $this->addSql('ALTER TABLE c_announcement DROP COLUMN IF EXISTS session_id');
332
        $this->addSql('ALTER TABLE c_announcement CHANGE title title LONGTEXT NOT NULL');
333
334
        // c_calendar_event_repeat_not
335
        $this->addSql('ALTER TABLE c_calendar_event_repeat_not DROP COLUMN IF EXISTS c_id');
336
337
        // c_survey
338
        $this->addSql('ALTER TABLE c_survey DROP COLUMN IF EXISTS c_id');
339
        $this->addSql('ALTER TABLE c_survey DROP COLUMN IF EXISTS survey_id');
340
        $this->addSql('ALTER TABLE c_survey DROP COLUMN IF EXISTS author');
341
        $this->addSql('ALTER TABLE c_survey DROP COLUMN IF EXISTS session_id');
342
        $this->addSql('CREATE INDEX IF NOT EXISTS idx_survey_code ON c_survey (code)');
343
344
        // c_survey_question_option
345
        $this->addSql('ALTER TABLE c_survey_question_option DROP FOREIGN KEY IF EXISTS FK_C4B6F5F1E27F6BF');
346
        $this->addSql('DROP INDEX IF EXISTS fk_c4b6f5f1e27f6bf ON c_survey_question_option');
347
        $this->addSql('CREATE INDEX IF NOT EXISTS idx_survey_qo_qid ON c_survey_question_option (question_id)');
348
        $this->addSql('ALTER TABLE c_survey_question_option ADD CONSTRAINT FK_C4B6F5F1E27F6BF FOREIGN KEY (question_id) REFERENCES c_survey_question (iid) ON DELETE CASCADE');
349
350
        // c_attendance_calendar
351
        $this->addSql('ALTER TABLE c_attendance_calendar DROP COLUMN IF EXISTS id');
352
        $this->addSql('ALTER TABLE c_attendance_calendar DROP COLUMN IF EXISTS c_id');
353
        $this->addSql('ALTER TABLE c_attendance_calendar CHANGE blocked blocked TINYINT(1) NOT NULL');
354
355
        // c_thematic_plan
356
        $this->addSql('ALTER TABLE c_thematic_plan DROP COLUMN IF EXISTS c_id');
357
        $this->addSql('ALTER TABLE c_thematic_plan DROP COLUMN IF EXISTS id');
358
359
        // c_quiz_rel_question
360
        $this->addSql('ALTER TABLE c_quiz_rel_question DROP COLUMN IF EXISTS c_id');
361
362
        // c_course_setting
363
        $this->addSql('ALTER TABLE c_course_setting DROP COLUMN IF EXISTS id');
364
        $this->addSql('ALTER TABLE c_course_setting CHANGE value value LONGTEXT DEFAULT NULL');
365
366
        // c_group_info
367
        $this->addSql('ALTER TABLE c_group_info DROP COLUMN IF EXISTS id');
368
        $this->addSql('ALTER TABLE c_group_info DROP COLUMN IF EXISTS c_id');
369
        $this->addSql('ALTER TABLE c_group_info DROP COLUMN IF EXISTS secret_directory');
370
        $this->addSql('ALTER TABLE c_group_info DROP COLUMN IF EXISTS session_id');
371
372
        // c_group_rel_user
373
        $this->addSql('ALTER TABLE c_group_rel_user DROP FOREIGN KEY IF EXISTS FK_C5D3D49FA76ED395');
374
        $this->addSql('ALTER TABLE c_group_rel_user DROP COLUMN IF EXISTS id');
375
        $this->addSql('ALTER TABLE c_group_rel_user ADD CONSTRAINT FK_C5D3D49FA76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
376
377
        // c_forum_forum
378
        $this->addSql('ALTER TABLE c_forum_forum DROP FOREIGN KEY IF EXISTS FK_47A9C9968DFD1EF');
379
        $this->addSql('ALTER TABLE c_forum_forum DROP COLUMN IF EXISTS c_id');
380
        $this->addSql('ALTER TABLE c_forum_forum DROP COLUMN IF EXISTS session_id');
381
        $this->addSql('DROP INDEX IF EXISTS fk_47a9c9968dfd1ef ON c_forum_forum');
382
        $this->addSql('CREATE INDEX IF NOT EXISTS IDX_47A9C9968DFD1EF ON c_forum_forum (lp_id)');
383
        $this->addSql('ALTER TABLE c_forum_forum ADD CONSTRAINT FK_47A9C9968DFD1EF FOREIGN KEY (lp_id) REFERENCES c_lp (iid) ON DELETE SET NULL');
384
385
        // c_wiki_discuss
386
        $this->addSql('ALTER TABLE c_wiki_discuss DROP COLUMN IF EXISTS id');
387
388
        // c_quiz_question_option
389
        $this->addSql('DROP INDEX IF EXISTS course ON c_quiz_question_option');
390
        $this->addSql('ALTER TABLE c_quiz_question_option DROP COLUMN IF EXISTS c_id');
391
        $this->addSql('ALTER TABLE c_quiz_question_option CHANGE question_id question_id INT DEFAULT NULL');
392
393
        // c_tool_intro
394
        $this->addSql('DROP INDEX IF EXISTS course ON c_tool_intro');
395
        $this->addSql('ALTER TABLE c_tool_intro DROP COLUMN IF EXISTS c_id');
396
        $this->addSql('ALTER TABLE c_tool_intro DROP COLUMN IF EXISTS id');
397
        $this->addSql('ALTER TABLE c_tool_intro DROP COLUMN IF EXISTS session_id');
398
399
        // c_forum_thread_qualify_log
400
        $this->addSql('ALTER TABLE c_forum_thread_qualify_log DROP COLUMN IF EXISTS id');
401
        $this->addSql('ALTER TABLE c_forum_thread_qualify_log CHANGE c_id c_id INT NOT NULL');
402
403
        // c_thematic_advance
404
        $this->addSql('ALTER TABLE c_thematic_advance DROP COLUMN IF EXISTS c_id');
405
        $this->addSql('ALTER TABLE c_thematic_advance DROP COLUMN IF EXISTS id');
406
407
        // c_thematic_advance
408
        $this->addSql('ALTER TABLE c_thematic_advance DROP FOREIGN KEY IF EXISTS FK_62798E97163DDA15');
409
        $this->addSql('ALTER TABLE c_thematic_advance ADD CONSTRAINT FK_62798E97163DDA15 FOREIGN KEY (attendance_id) REFERENCES c_attendance (iid) ON DELETE CASCADE');
410
411
        // c_student_publication_rel_user
412
        $this->addSql('ALTER TABLE c_student_publication_rel_user DROP COLUMN IF EXISTS c_id');
413
        $this->addSql('ALTER TABLE c_student_publication_rel_user DROP COLUMN IF EXISTS id');
414
415
        // c_group_category
416
        $this->addSql('ALTER TABLE c_group_category DROP COLUMN IF EXISTS c_id');
417
        $this->addSql('ALTER TABLE c_group_category DROP COLUMN IF EXISTS id');
418
        $this->addSql('ALTER TABLE c_group_category DROP COLUMN IF EXISTS display_order');
419
420
        // c_announcement_attachment
421
        $this->addSql('ALTER TABLE c_announcement_attachment DROP COLUMN IF EXISTS id');
422
        $this->addSql('ALTER TABLE c_announcement_attachment DROP COLUMN IF EXISTS c_id');
423
424
        // c_lp_category
425
        $this->addSql('ALTER TABLE c_lp_category DROP COLUMN IF EXISTS c_id');
426
        $this->addSql('ALTER TABLE c_lp_category DROP COLUMN IF EXISTS session_id');
427
428
        // c_calendar_event
429
        $this->addSql('ALTER TABLE c_calendar_event DROP FOREIGN KEY IF EXISTS FK_C_CALENDAR_EVENT_CAREER');
430
        $this->addSql('ALTER TABLE c_calendar_event DROP FOREIGN KEY IF EXISTS FK_C_CALENDAR_EVENT_PROMOTION');
431
        $this->addSql('ALTER TABLE c_calendar_event DROP COLUMN IF EXISTS id');
432
        $this->addSql('ALTER TABLE c_calendar_event DROP COLUMN IF EXISTS c_id');
433
        $this->addSql('ALTER TABLE c_calendar_event DROP COLUMN IF EXISTS session_id');
434
        $this->addSql('DROP INDEX IF EXISTS idx_c_calendar_event_career ON c_calendar_event');
435
        $this->addSql('CREATE INDEX IF NOT EXISTS IDX_A0622581B58CDA09 ON c_calendar_event (career_id)');
436
        $this->addSql('DROP INDEX IF EXISTS idx_c_calendar_event_promotion ON c_calendar_event');
437
        $this->addSql('CREATE INDEX IF NOT EXISTS IDX_A0622581139DF194 ON c_calendar_event (promotion_id)');
438
        $this->addSql('ALTER TABLE c_calendar_event ADD CONSTRAINT FK_C_CALENDAR_EVENT_CAREER FOREIGN KEY (career_id) REFERENCES career (id)');
439
        $this->addSql('ALTER TABLE c_calendar_event ADD CONSTRAINT FK_C_CALENDAR_EVENT_PROMOTION FOREIGN KEY (promotion_id) REFERENCES promotion (id)');
440
441
        // c_student_publication
442
        $this->addSql('ALTER TABLE c_student_publication DROP FOREIGN KEY IF EXISTS FK_5246F746A76ED395');
443
        $this->addSql('DROP INDEX IF EXISTS session_id ON c_student_publication');
444
        $this->addSql('ALTER TABLE c_student_publication DROP COLUMN IF EXISTS c_id');
445
        $this->addSql('ALTER TABLE c_student_publication DROP COLUMN IF EXISTS id');
446
        $this->addSql('ALTER TABLE c_student_publication DROP COLUMN IF EXISTS url');
447
        $this->addSql('ALTER TABLE c_student_publication DROP COLUMN IF EXISTS url_correction');
448
        $this->addSql('ALTER TABLE c_student_publication DROP COLUMN IF EXISTS title_correction');
449
        $this->addSql('ALTER TABLE c_student_publication DROP COLUMN IF EXISTS session_id');
450
        $this->addSql('ALTER TABLE c_student_publication ADD CONSTRAINT FK_5246F746A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
451
452
        // c_document
453
        $this->addSql('ALTER TABLE c_document DROP COLUMN IF EXISTS c_id');
454
        $this->addSql('ALTER TABLE c_document DROP COLUMN IF EXISTS path');
455
        $this->addSql('ALTER TABLE c_document DROP COLUMN IF EXISTS size');
456
        $this->addSql('ALTER TABLE c_document DROP COLUMN IF EXISTS session_id');
457
        $this->addSql('ALTER TABLE c_document CHANGE filetype filetype VARCHAR(15) NOT NULL');
458
459
        // c_survey_question
460
        $this->addSql('ALTER TABLE c_survey_question DROP COLUMN IF EXISTS c_id');
461
        $this->addSql('ALTER TABLE c_survey_question DROP COLUMN IF EXISTS question_id');
462
        $this->addSql('ALTER TABLE c_survey_question CHANGE survey_group_pri survey_group_pri INT NOT NULL');
463
464
        // c_quiz_rel_category
465
        $this->addSql('ALTER TABLE c_quiz_rel_category DROP COLUMN IF EXISTS c_id');
466
467
        // c_quiz_category
468
        $this->addSql('ALTER TABLE c_quiz_category DROP FOREIGN KEY IF EXISTS FK_B94C157E91D79BD3');
469
        $this->addSql('ALTER TABLE c_quiz_category DROP FOREIGN KEY IF EXISTS FK_B94C157E1BAD783F');
470
        $this->addSql('DROP INDEX IF EXISTS uniq_b94c157e1bad783f ON c_quiz_category');
471
        $this->addSql('CREATE UNIQUE INDEX IF NOT EXISTS UNIQ_2AF3F5101BAD783F ON c_quiz_category (resource_node_id)');
472
        $this->addSql('DROP INDEX IF EXISTS idx_b94c157e91d79bd3 ON c_quiz_category');
473
        $this->addSql('CREATE INDEX IF NOT EXISTS IDX_2AF3F51091D79BD3 ON c_quiz_category (c_id)');
474
        $this->addSql('ALTER TABLE c_quiz_category ADD CONSTRAINT FK_B94C157E91D79BD3 FOREIGN KEY (c_id) REFERENCES course (id) ON DELETE CASCADE');
475
        $this->addSql('ALTER TABLE c_quiz_category ADD CONSTRAINT FK_B94C157E1BAD783F FOREIGN KEY (resource_node_id) REFERENCES resource_node (id) ON DELETE CASCADE');
476
477
        // c_dropbox_file
478
        $this->addSql('ALTER TABLE c_dropbox_file DROP COLUMN IF EXISTS id');
479
480
        // c_wiki_mailcue
481
        $this->addSql('DROP INDEX IF EXISTS c_id ON c_wiki_mailcue');
482
        $this->addSql('ALTER TABLE c_wiki_mailcue DROP COLUMN IF EXISTS id');
483
        $this->addSql('CREATE INDEX IF NOT EXISTS c_id ON c_wiki_mailcue (c_id, iid)');
484
485
        // c_lp_category_rel_user
486
        $this->addSql('ALTER TABLE c_lp_category_rel_user DROP FOREIGN KEY IF EXISTS FK_61F0427A76ED395');
487
        $this->addSql('ALTER TABLE c_lp_category_rel_user DROP FOREIGN KEY IF EXISTS FK_61F042712469DE2');
488
489
        // c_lp_category_rel_user
490
        $this->addSql('ALTER TABLE c_lp_category_rel_user DROP FOREIGN KEY IF EXISTS FK_83D35829A76ED395');
491
        $this->addSql('ALTER TABLE c_lp_category_rel_user ADD CONSTRAINT FK_83D35829A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
492
        $this->addSql('DROP INDEX IF EXISTS idx_61f042712469de2 ON c_lp_category_rel_user');
493
        $this->addSql('CREATE INDEX IF NOT EXISTS IDX_83D3582912469DE2 ON c_lp_category_rel_user (category_id)');
494
        $this->addSql('DROP INDEX IF EXISTS idx_61f0427a76ed395 ON c_lp_category_rel_user');
495
        $this->addSql('CREATE INDEX IF NOT EXISTS IDX_83D35829A76ED395 ON c_lp_category_rel_user (user_id)');
496
        $this->addSql('ALTER TABLE c_lp_category_rel_user ADD CONSTRAINT FK_61F042712469DE2 FOREIGN KEY (category_id) REFERENCES c_lp_category (iid)');
497
        $this->addSql('ALTER TABLE c_lp_category_rel_user ADD CONSTRAINT FK_61F0427A76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
498
499
        // c_lp_view
500
        $this->addSql('ALTER TABLE c_lp_view DROP FOREIGN KEY IF EXISTS FK_2D2F4F7DA76ED395');
501
        $this->addSql('DROP INDEX IF EXISTS fk_2d2f4f7da76ed395 ON c_lp_view');
502
        $this->addSql('CREATE INDEX IF NOT EXISTS IDX_2D2F4F7DA76ED395 ON c_lp_view (user_id)');
503
        $this->addSql('ALTER TABLE c_lp_view ADD CONSTRAINT FK_2D2F4F7DA76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
504
505
        // c_calendar_event_repeat
506
        $this->addSql('ALTER TABLE c_calendar_event_repeat DROP COLUMN IF EXISTS c_id');
507
508
        // c_attendance_calendar_rel_group
509
        $this->addSql('ALTER TABLE c_attendance_calendar_rel_group DROP COLUMN IF EXISTS id');
510
        $this->addSql('ALTER TABLE c_attendance_calendar_rel_group DROP COLUMN IF EXISTS c_id');
511
512
        // c_forum_attachment
513
        $this->addSql('ALTER TABLE c_forum_attachment DROP COLUMN IF EXISTS id');
514
        $this->addSql('ALTER TABLE c_forum_attachment CHANGE c_id c_id INT NOT NULL');
515
516
        // c_survey_invitation
517
        $this->addSql('ALTER TABLE c_survey_invitation DROP FOREIGN KEY IF EXISTS FK_D0BC7C2A76ED395');
518
        $this->addSql('ALTER TABLE c_survey_invitation DROP FOREIGN KEY IF EXISTS FK_D0BC7C2B3FE509D');
519
        $this->addSql('ALTER TABLE c_survey_invitation DROP COLUMN IF EXISTS survey_invitation_id');
520
        $this->addSql('ALTER TABLE c_survey_invitation DROP COLUMN IF EXISTS survey_code');
521
        $this->addSql('ALTER TABLE c_survey_invitation DROP COLUMN IF EXISTS user');
522
        $this->addSql('ALTER TABLE c_survey_invitation ADD CONSTRAINT FK_D0BC7C2A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE SET NULL');
523
        $this->addSql('ALTER TABLE c_survey_invitation ADD CONSTRAINT FK_D0BC7C2B3FE509D FOREIGN KEY (survey_id) REFERENCES c_survey (iid) ON DELETE SET NULL');
524
525
        // c_student_publication_comment
526
        $this->addSql('ALTER TABLE c_student_publication_comment DROP COLUMN IF EXISTS c_id');
527
        $this->addSql('ALTER TABLE c_student_publication_comment DROP COLUMN IF EXISTS id');
528
529
        // c_notebook
530
        $this->addSql('ALTER TABLE c_notebook DROP COLUMN IF EXISTS c_id');
531
        $this->addSql('ALTER TABLE c_notebook DROP COLUMN IF EXISTS course');
532
        $this->addSql('ALTER TABLE c_notebook DROP COLUMN IF EXISTS session_id');
533
534
        // c_forum_notification
535
        $this->addSql('ALTER TABLE c_forum_notification DROP COLUMN IF EXISTS id');
536
        $this->addSql('ALTER TABLE c_forum_notification CHANGE c_id c_id INT NOT NULL');
537
538
        // c_group_rel_tutor
539
        $this->addSql('ALTER TABLE c_group_rel_tutor DROP FOREIGN KEY IF EXISTS FK_F6FF71ABA76ED395');
540
        $this->addSql('ALTER TABLE c_group_rel_tutor DROP COLUMN IF EXISTS id');
541
        $this->addSql('ALTER TABLE c_group_rel_tutor ADD CONSTRAINT FK_F6FF71ABA76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
542
543
        // c_forum_post
544
        $this->addSql('ALTER TABLE c_forum_post DROP FOREIGN KEY IF EXISTS FK_B5BEF5595BB66C05');
545
        $this->addSql('DROP INDEX IF EXISTS c_id_visible_post_date ON c_forum_post');
546
        $this->addSql('ALTER TABLE c_forum_post DROP COLUMN IF EXISTS c_id');
547
        $this->addSql('ALTER TABLE c_forum_post DROP COLUMN IF EXISTS post_id');
548
        $this->addSql('ALTER TABLE c_forum_post ADD CONSTRAINT FK_B5BEF5595BB66C05 FOREIGN KEY (poster_id) REFERENCES user (id) ON DELETE CASCADE');
549
550
        // c_attendance_sheet_log
551
        $this->addSql('ALTER TABLE c_attendance_sheet_log DROP COLUMN IF EXISTS id');
552
        $this->addSql('ALTER TABLE c_attendance_sheet_log DROP COLUMN IF EXISTS c_id');
553
554
        // c_wiki
555
        $this->addSql('ALTER TABLE c_wiki DROP COLUMN IF EXISTS id');
556
        $this->addSql('ALTER TABLE c_wiki CHANGE c_id c_id INT NOT NULL');
557
558
        // c_forum_thread_qualify
559
        $this->addSql('ALTER TABLE c_forum_thread_qualify DROP FOREIGN KEY IF EXISTS FK_715FC3A5E5E1B95C');
560
        $this->addSql('ALTER TABLE c_forum_thread_qualify DROP COLUMN IF EXISTS id');
561
        $this->addSql('ALTER TABLE c_forum_thread_qualify DROP COLUMN IF EXISTS session_id');
562
        $this->addSql('ALTER TABLE c_forum_thread_qualify CHANGE c_id c_id INT NOT NULL');
563
        $this->addSql('ALTER TABLE c_forum_thread_qualify ADD CONSTRAINT FK_715FC3A5E5E1B95C FOREIGN KEY (qualify_user_id) REFERENCES user (id) ON DELETE CASCADE');
564
565
        // c_quiz
566
        $this->addSql('DROP INDEX IF EXISTS session_id ON c_quiz');
567
        $this->addSql('ALTER TABLE c_quiz DROP COLUMN IF EXISTS c_id');
568
        $this->addSql('ALTER TABLE c_quiz DROP COLUMN IF EXISTS id');
569
        $this->addSql('ALTER TABLE c_quiz DROP COLUMN IF EXISTS session_id');
570
        $this->addSql('ALTER TABLE c_quiz CHANGE hide_attempts_table hide_attempts_table TINYINT(1) DEFAULT 0 NOT NULL');
571
572
        // c_link
573
        $this->addSql('ALTER TABLE c_link DROP COLUMN IF EXISTS c_id');
574
        $this->addSql('ALTER TABLE c_link DROP COLUMN IF EXISTS id');
575
        $this->addSql('ALTER TABLE c_link DROP COLUMN IF EXISTS display_order');
576
        $this->addSql('ALTER TABLE c_link DROP COLUMN IF EXISTS on_homepage');
577
        $this->addSql('ALTER TABLE c_link DROP COLUMN IF EXISTS session_id');
578
579
        // c_quiz_question_category
580
        $this->addSql('ALTER TABLE c_quiz_question_category DROP COLUMN IF EXISTS c_id');
581
        $this->addSql('ALTER TABLE c_quiz_question_category DROP COLUMN IF EXISTS id');
582
583
        // c_course_description
584
        $this->addSql('ALTER TABLE c_course_description DROP COLUMN IF EXISTS id');
585
        $this->addSql('ALTER TABLE c_course_description DROP COLUMN IF EXISTS c_id');
586
        $this->addSql('ALTER TABLE c_course_description DROP COLUMN IF EXISTS session_id');
587
588
        // c_attendance_sheet
589
        $this->addSql('ALTER TABLE c_attendance_sheet DROP FOREIGN KEY IF EXISTS FK_AD1394FAA76ED395');
590
        $this->addSql('ALTER TABLE c_attendance_sheet DROP COLUMN IF EXISTS c_id');
591
        $this->addSql('ALTER TABLE c_attendance_sheet ADD CONSTRAINT FK_AD1394FAA76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
592
593
        // c_quiz_question
594
        $this->addSql('ALTER TABLE c_quiz_question DROP COLUMN IF EXISTS c_id');
595
        $this->addSql('ALTER TABLE c_quiz_question CHANGE feedback feedback LONGTEXT DEFAULT NULL');
596
597
        // c_quiz_question_rel_category
598
        $this->addSql('ALTER TABLE c_quiz_question_rel_category DROP FOREIGN KEY IF EXISTS FK_A468585C12469DE2');
599
        $this->addSql('ALTER TABLE c_quiz_question_rel_category DROP FOREIGN KEY IF EXISTS FK_A468585C1E27F6BF');
600
        $this->addSql('DROP INDEX IF EXISTS idx_qqrc_qid ON c_quiz_question_rel_category');
601
        $this->addSql('DROP INDEX IF EXISTS `primary` ON c_quiz_question_rel_category');
602
        $this->addSql('ALTER TABLE c_quiz_question_rel_category DROP COLUMN IF EXISTS iid');
603
        $this->addSql('ALTER TABLE c_quiz_question_rel_category DROP COLUMN IF EXISTS c_id');
604
        $this->addSql('ALTER TABLE c_quiz_question_rel_category DROP COLUMN IF EXISTS mandatory');
605
        $this->addSql('ALTER TABLE c_quiz_question_rel_category ADD CONSTRAINT FK_A468585C12469DE2 FOREIGN KEY (category_id) REFERENCES c_quiz_question_category (iid)');
606
        $this->addSql('ALTER TABLE c_quiz_question_rel_category ADD CONSTRAINT FK_A468585C1E27F6BF FOREIGN KEY (question_id) REFERENCES c_quiz_question (iid)');
607
        $this->addSql('ALTER TABLE c_quiz_question_rel_category ADD PRIMARY KEY (question_id, category_id)');
608
609
        $this->addSql('SET FOREIGN_KEY_CHECKS = 1;');
610
    }
611
612
    public function down(Schema $schema): void
613
    {}
614
}
615