21 lines
732 B
PHP
21 lines
732 B
PHP
<?php
|
|
|
|
use PDO;
|
|
|
|
return function (PDO $pdo): void {
|
|
$pdo->exec(<<<SQL
|
|
CREATE TABLE activity (
|
|
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
|
entity_type VARCHAR(50) NOT NULL,
|
|
entity_id INT UNSIGNED NOT NULL,
|
|
user_id INT UNSIGNED NOT NULL,
|
|
action VARCHAR(100) NOT NULL,
|
|
meta_json JSON NULL,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
CONSTRAINT fk_activity_user FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
|
|
INDEX idx_activity_entity (entity_type, entity_id),
|
|
INDEX idx_activity_user (user_id)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
SQL);
|
|
};
|