feat: GeneralAccessLog table 준비
- general 테이블에서 유저 접속과 관련한 로그만 분리 - ip 정보는 api 접속부에서 기록하므로 제외
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace sammo\DTO;
|
||||
|
||||
use LDTO\Attr\Convert;
|
||||
use LDTO\Attr\NullIsUndefined;
|
||||
use LDTO\Attr\RawName;
|
||||
use LDTO\Converter\DateTimeConverter;
|
||||
|
||||
class GeneralAccessLog extends \LDTO\DTO
|
||||
{
|
||||
public function __construct(
|
||||
#[NullIsUndefined]
|
||||
public ?int $id,
|
||||
|
||||
#[RawName('general_id')]
|
||||
public int $generalID,
|
||||
|
||||
#[RawName('user_id')]
|
||||
public ?int $userID,
|
||||
|
||||
#[RawName('nation_id')]
|
||||
public int $nationID,
|
||||
|
||||
#[RawName('last_refresh')]
|
||||
#[Convert(DateTimeConverter::class)]
|
||||
public \DateTimeImmutable $lastRefresh,
|
||||
|
||||
#[RawName('last_connect')]
|
||||
#[Convert(DateTimeConverter::class)]
|
||||
public \DateTimeImmutable $lastConnect,
|
||||
|
||||
#[RawName('login_total')]
|
||||
public int $loginTotal,
|
||||
|
||||
public int $refresh,
|
||||
|
||||
#[RawName('refresh_total')]
|
||||
public int $refreshTotal,
|
||||
) {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
namespace sammo\Enums;
|
||||
|
||||
enum GeneralAccessLogColumn: string {
|
||||
case id = 'id';
|
||||
case generalID = 'general_id';
|
||||
case userID = 'user_id';
|
||||
case nationID = 'nation_id';
|
||||
case lastRefresh = 'last_refresh';
|
||||
case lastConnect = 'last_connect';
|
||||
case loginTotal = 'login_total';
|
||||
case refresh = 'refresh';
|
||||
case refreshTotal = 'refresh_total';
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
# 장수 테이블 삭제
|
||||
DROP TABLE IF EXISTS general;
|
||||
DROP TABLE IF EXISTS `general_turn`;
|
||||
DROP TABLE IF EXISTS `general_acess_log`;
|
||||
# 국가 테이블 삭제
|
||||
DROP TABLE IF EXISTS nation;
|
||||
DROP TABLE IF EXISTS `nation_turn`;
|
||||
|
||||
@@ -102,6 +102,23 @@ CREATE TABLE `general_turn` (
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE INDEX `general_id` (`general_id`, `turn_idx`)
|
||||
) COLLATE = 'utf8mb4_general_ci' ENGINE = Aria;
|
||||
CREATE TABLE `general_access_log` (
|
||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`general_id` INT(11) NOT NULL,
|
||||
`user_id` INT(11) NULL DEFAULT NULL,
|
||||
`nation_id` INT(11) NOT NULL,
|
||||
`last_refresh` DATETIME NOT NULL,
|
||||
`last_connect` DATETIME NOT NULL,
|
||||
`login_total` INT(11) NOT NULL,
|
||||
`refresh` INT(11) NOT NULL,
|
||||
`refresh_total` INT(11) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE INDEX `general_id` (`general_id`),
|
||||
INDEX `nation_id` (`nation_id`)
|
||||
)
|
||||
COLLATE='utf8mb4_general_ci'
|
||||
ENGINE=Aria
|
||||
;
|
||||
##############################
|
||||
## 국가 테이블
|
||||
##############################
|
||||
|
||||
Reference in New Issue
Block a user