Skip to content

Commit acfc5f1

Browse files
committed
Enhance security audit logging migration with severity handling for different database types
1 parent 9c7fbf4 commit acfc5f1

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

db/migrations/20241020190000_gdpr_phase3_security_enhancements.php

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -163,9 +163,16 @@ private function createSecurityAuditTables(): void
163163
->addColumn('event_description', 'text', ['null' => false])
164164
->addColumn('ip_address', 'string', ['limit' => 45, 'null' => true])
165165
->addColumn('user_agent', 'text', ['null' => true])
166-
->addColumn('additional_data', 'json', ['null' => true])
167-
->addColumn('severity', 'enum', ['values' => ['low', 'medium', 'high', 'critical'], 'default' => 'medium'])
168-
->addColumn('created_at', 'timestamp', ['default' => 'CURRENT_TIMESTAMP'])
166+
->addColumn('additional_data', 'json', ['null' => true]);
167+
168+
// Add severity column - use enum for MySQL/PostgreSQL, string for SQLite
169+
if ($this->adapter->getAdapterType() === 'sqlite') {
170+
$table->addColumn('severity', 'string', ['limit' => 10, 'default' => 'medium', 'null' => false]);
171+
} else {
172+
$table->addColumn('severity', 'enum', ['values' => ['low', 'medium', 'high', 'critical'], 'default' => 'medium']);
173+
}
174+
175+
$table->addColumn('created_at', 'timestamp', ['default' => 'CURRENT_TIMESTAMP'])
169176
->addIndex(['event_type'])
170177
->addIndex(['severity'])
171178
->addIndex(['created_at'])

0 commit comments

Comments
 (0)