20 lines
660 B
PHP
20 lines
660 B
PHP
<?php
|
|
|
|
use PDO;
|
|
|
|
return function (PDO $pdo): void {
|
|
$pdo->exec(<<<SQL
|
|
CREATE TABLE audit (
|
|
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
|
user_id INT UNSIGNED NULL,
|
|
entity VARCHAR(100) NOT NULL,
|
|
entity_id INT UNSIGNED NULL,
|
|
action VARCHAR(100) NOT NULL,
|
|
meta_json JSON NULL,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
CONSTRAINT fk_audit_user FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE SET NULL,
|
|
INDEX idx_audit_entity (entity, entity_id)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
SQL);
|
|
};
|