1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
declare(strict_types=1); |
4
|
|
|
|
5
|
|
|
/* For licensing terms, see /license.txt */ |
6
|
|
|
|
7
|
|
|
namespace Chamilo\CoreBundle\Migrations\Schema\V200; |
8
|
|
|
|
9
|
|
|
use Chamilo\CoreBundle\Migrations\AbstractMigrationChamilo; |
10
|
|
|
use Doctrine\DBAL\Schema\Schema; |
11
|
|
|
|
12
|
|
|
final class Version20250310214200 extends AbstractMigrationChamilo |
13
|
|
|
{ |
14
|
|
|
public function getDescription(): string |
15
|
|
|
{ |
16
|
|
|
return 'Creates tables conference_meeting, conference_recording, and conference_activity.'; |
17
|
|
|
} |
18
|
|
|
|
19
|
|
|
public function up(Schema $schema): void |
20
|
|
|
{ |
21
|
|
|
$this->addSql(" |
22
|
|
|
CREATE TABLE conference_meeting ( |
23
|
|
|
id INT AUTO_INCREMENT NOT NULL, |
24
|
|
|
c_id INT DEFAULT NULL, |
25
|
|
|
session_id INT DEFAULT NULL, |
26
|
|
|
access_url_id INT DEFAULT NULL, |
27
|
|
|
group_id INT DEFAULT NULL, |
28
|
|
|
user_id INT DEFAULT NULL, |
29
|
|
|
calendar_id INT DEFAULT NULL, |
30
|
|
|
service_provider VARCHAR(20) NOT NULL, |
31
|
|
|
remote_id VARCHAR(255) DEFAULT NULL, |
32
|
|
|
internal_meeting_id VARCHAR(255) DEFAULT NULL, |
33
|
|
|
title VARCHAR(255) NOT NULL, |
34
|
|
|
attendee_pw VARCHAR(255) DEFAULT NULL, |
35
|
|
|
moderator_pw VARCHAR(255) DEFAULT NULL, |
36
|
|
|
record TINYINT(1) NOT NULL DEFAULT 0, |
37
|
|
|
status INT NOT NULL DEFAULT 0, |
38
|
|
|
welcome_msg TEXT DEFAULT NULL, |
39
|
|
|
visibility INT NOT NULL DEFAULT 1, |
40
|
|
|
voice_bridge INT DEFAULT NULL, |
41
|
|
|
video_url VARCHAR(255) DEFAULT NULL, |
42
|
|
|
has_video_m4v TINYINT(1) NOT NULL DEFAULT 0, |
43
|
|
|
created_at DATETIME NOT NULL, |
44
|
|
|
closed_at DATETIME DEFAULT NULL, |
45
|
|
|
meeting_list_item TEXT DEFAULT NULL, |
46
|
|
|
meeting_info_get TEXT DEFAULT NULL, |
47
|
|
|
sign_attendance TINYINT(1) NOT NULL DEFAULT 0, |
48
|
|
|
reason_to_sign_attendance TEXT DEFAULT NULL, |
49
|
|
|
account_email VARCHAR(255) DEFAULT NULL, |
50
|
|
|
webinar_schema TEXT DEFAULT NULL, |
51
|
|
|
PRIMARY KEY(id), |
52
|
|
|
CONSTRAINT FK_EE87E8191D79BD3 FOREIGN KEY (c_id) REFERENCES course (id) ON DELETE CASCADE, |
53
|
|
|
CONSTRAINT FK_EE87E81613FECDF FOREIGN KEY (session_id) REFERENCES session (id) ON DELETE CASCADE, |
54
|
|
|
CONSTRAINT FK_EE87E8173444FD5 FOREIGN KEY (access_url_id) REFERENCES access_url (id) ON DELETE CASCADE, |
55
|
|
|
CONSTRAINT FK_EE87E81FE54D947 FOREIGN KEY (group_id) REFERENCES c_group_info (iid) ON DELETE CASCADE, |
56
|
|
|
CONSTRAINT FK_EE87E81A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE |
57
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; |
58
|
|
|
"); |
59
|
|
|
|
60
|
|
|
$this->addSql(" |
61
|
|
|
CREATE TABLE conference_recording ( |
62
|
|
|
id INT AUTO_INCREMENT NOT NULL, |
63
|
|
|
meeting_id INT NOT NULL, |
64
|
|
|
format_type VARCHAR(50) NOT NULL, |
65
|
|
|
resource_url TEXT NOT NULL, |
66
|
|
|
PRIMARY KEY(id), |
67
|
|
|
CONSTRAINT FK_F7FF7ACB67433D9C FOREIGN KEY (meeting_id) REFERENCES conference_meeting (id) ON DELETE CASCADE |
68
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; |
69
|
|
|
"); |
70
|
|
|
|
71
|
|
|
$this->addSql(" |
72
|
|
|
CREATE TABLE conference_activity ( |
73
|
|
|
id INT AUTO_INCREMENT NOT NULL, |
74
|
|
|
meeting_id INT NOT NULL, |
75
|
|
|
participant_id INT NOT NULL, |
76
|
|
|
in_at DATETIME DEFAULT NULL, |
77
|
|
|
out_at DATETIME DEFAULT NULL, |
78
|
|
|
close TINYINT(1) NOT NULL DEFAULT 0, |
79
|
|
|
type VARCHAR(50) NOT NULL, |
80
|
|
|
event VARCHAR(255) NOT NULL, |
81
|
|
|
activity_data LONGTEXT DEFAULT NULL, |
82
|
|
|
signature_file VARCHAR(255) DEFAULT NULL, |
83
|
|
|
signed_at DATETIME DEFAULT NULL, |
84
|
|
|
PRIMARY KEY(id), |
85
|
|
|
CONSTRAINT FK_6935CF7B67433D9C FOREIGN KEY (meeting_id) REFERENCES conference_meeting (id) ON DELETE CASCADE, |
86
|
|
|
CONSTRAINT FK_6935CF7B9D1C3019 FOREIGN KEY (participant_id) REFERENCES user (id) ON DELETE CASCADE |
87
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; |
88
|
|
|
"); |
89
|
|
|
} |
90
|
|
|
|
91
|
|
|
public function down(Schema $schema): void |
92
|
|
|
{ |
93
|
|
|
$this->addSql("DROP TABLE IF EXISTS conference_activity;"); |
94
|
|
|
$this->addSql("DROP TABLE IF EXISTS conference_recording;"); |
95
|
|
|
$this->addSql("DROP TABLE IF EXISTS conference_meeting;"); |
96
|
|
|
} |
97
|
|
|
} |
98
|
|
|
|