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;
|
||||||
DROP TABLE IF EXISTS `general_turn`;
|
DROP TABLE IF EXISTS `general_turn`;
|
||||||
|
DROP TABLE IF EXISTS `general_acess_log`;
|
||||||
# 국가 테이블 삭제
|
# 국가 테이블 삭제
|
||||||
DROP TABLE IF EXISTS nation;
|
DROP TABLE IF EXISTS nation;
|
||||||
DROP TABLE IF EXISTS `nation_turn`;
|
DROP TABLE IF EXISTS `nation_turn`;
|
||||||
|
|||||||
@@ -102,6 +102,23 @@ CREATE TABLE `general_turn` (
|
|||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
UNIQUE INDEX `general_id` (`general_id`, `turn_idx`)
|
UNIQUE INDEX `general_id` (`general_id`, `turn_idx`)
|
||||||
) COLLATE = 'utf8mb4_general_ci' ENGINE = Aria;
|
) 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