fuc/db/migrations/2023032600-online_log_per_user-ip.php
2025-02-23 13:30:57 +08:00

50 lines
1.4 KiB
PHP
Executable File

<?php
declare(strict_types=1);
use App\Interfaces\MigrationInterface;
use App\Services\DB;
return new class() implements MigrationInterface {
public function up(): int
{
$pdo = DB::getPdo();
$pdo->exec('
CREATE TABLE IF NOT EXISTS online_log (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
user_id INT UNSIGNED NOT NULL,
ip INET6 NOT NULL,
node_id INT UNSIGNED NOT NULL,
first_time INT UNSIGNED NOT NULL,
last_time INT UNSIGNED NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY (user_id, ip),
KEY (last_time)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
');
$pdo->exec('DROP TABLE IF EXISTS alive_ip');
return 2023032600;
}
public function down(): int
{
$pdo = DB::getPdo();
$pdo->exec('
CREATE TABLE IF NOT EXISTS alive_ip (
id BIGINT(20) NOT NULL AUTO_INCREMENT,
nodeid INT(11) DEFAULT NULL,
userid INT(11) DEFAULT NULL,
ip VARCHAR(255) DEFAULT NULL,
datetime BIGINT(20) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
');
$pdo->exec('DROP TABLE IF EXISTS online_log');
return 2023031701;
}
};