Skip to content

Commit 85daf43

Browse files
committed
Internal: Fix migration to save .env variable values in settings #6477
1 parent a70dd1f commit 85daf43

File tree

1 file changed

+35
-32
lines changed

1 file changed

+35
-32
lines changed

src/CoreBundle/Migrations/Schema/V200/Version20250721200725.php

Lines changed: 35 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -34,42 +34,45 @@ public function up(Schema $schema): void
3434
$dotenv = new Dotenv();
3535
$dotenv->loadEnv($envFile);
3636

37-
$mailerScheme = 'null';
38-
$smtpSecure = $_ENV['SMTP_SECURE'] ?? '';
39-
$query = '';
37+
$settings = [];
38+
$settings['mailer_dkim'] = '';
39+
$settings['mailer_xoauth2'] = '';
40+
41+
if (isset($_ENV['MAILER'])) {
42+
$mailerScheme = 'null';
43+
$smtpSecure = $_ENV['SMTP_SECURE'] ?? '';
44+
$query = '';
45+
46+
if (!empty($smtpSecure)) {
47+
$mailerScheme = 'smtp';
48+
49+
if ($smtpSecure === 'ssl') {
50+
$mailerScheme = 'smtps';
51+
} elseif ($smtpSecure === 'tls') {
52+
$query = '?encryption=tls';
53+
}
54+
}
4055

41-
if (!empty($smtpSecure)) {
42-
$mailerScheme = 'smtp';
56+
$dsn = sprintf(
57+
'%s://%s%s@%s:%s%s',
58+
$mailerScheme,
59+
!empty($_ENV['SMTP_AUTH']) ? ($_ENV['SMTP_USER'] ?? '') : '',
60+
!empty($_ENV['SMTP_AUTH']) ? ':'.($_ENV['SMTP_PASS'] ?? '') : '',
61+
$_ENV['SMTP_HOST'] ?? '',
62+
$_ENV['SMTP_PORT'] ?? '',
63+
$query
64+
);
4365

44-
if ($smtpSecure === 'ssl') {
45-
$mailerScheme = 'smtps';
46-
} elseif ($smtpSecure === 'tls') {
47-
$query = '?encryption=tls';
48-
}
66+
$settings['mailer_from_email'] = $_ENV['SMTP_FROM_EMAIL'] ?? '';
67+
$settings['mailer_from_name'] = $_ENV['SMTP_FROM_NAME'] ?? '';
68+
$settings['mailer_dsn'] = $dsn;
69+
$settings['mailer_mails_charset'] = $_ENV['SMTP_CHARSET'] ?? 'UTF-8';
70+
$settings['mailer_debug_enable'] = !empty($_ENV['SMTP_DEBUG']) ? 'true' : 'false';
4971
}
5072

51-
$dsn = sprintf(
52-
'%s://%s%s@%s:%s%s',
53-
$mailerScheme,
54-
!empty($_ENV['SMTP_AUTH']) ? ($_ENV['SMTP_USER'] ?? '') : '',
55-
!empty($_ENV['SMTP_AUTH']) ? ':'.($_ENV['SMTP_PASS'] ?? '') : '',
56-
$_ENV['SMTP_HOST'] ?? '',
57-
$_ENV['SMTP_PORT'] ?? '',
58-
$query
59-
);
60-
61-
$settings = [
62-
'mailer_from_email' => $_ENV['SMTP_FROM_EMAIL'] ?? '',
63-
'mailer_from_name' => $_ENV['SMTP_FROM_NAME'] ?? '',
64-
'mailer_dsn' => $dsn,
65-
'mailer_mails_charset' => $_ENV['SMTP_CHARSET'] ?? 'UTF-8',
66-
'mailer_debug_enable' => !empty($_ENV['SMTP_DEBUG']) ? 'true' : 'false',
67-
'mailer_exclude_json' => $platform_email['EXCLUDE_JSON'] ?? false,
68-
'mailer_dkim' => '',
69-
'mailer_xoauth2' => '',
70-
];
71-
7273
if ($legacyMailConfig) {
74+
$settings['mailer_exclude_json'] = $platform_email['EXCLUDE_JSON'] ?? false;
75+
7376
$dkim = [
7477
'enable' => $platform_email['DKIM'] ?? false,
7578
'selector' => $platform_email['DKIM_SELECTOR'] ?? '',
@@ -92,8 +95,8 @@ public function up(Schema $schema): void
9295

9396
$settings['mailer_dkim'] = json_encode($dkim);
9497
$settings['mailer_xoauth2'] = json_encode($xoauth2);
95-
9698
}
99+
97100
foreach ($settings as $variable => $value) {
98101
$this->addSql(
99102
sprintf(

0 commit comments

Comments
 (0)