MCP-서버 리팩토링 후 P&ID 추출 테스트전 다른 기능 확인 후 커밋
This commit is contained in:
69
fastTable/step1.md
Normal file
69
fastTable/step1.md
Normal file
@@ -0,0 +1,69 @@
|
||||
# STEP 1 — 엔티티 추가 (`ExperionEntities.cs`)
|
||||
|
||||
## 사전 확인 (작업 전 반드시 수행)
|
||||
|
||||
1. `src/Core/Domain/Entities/ExperionEntities.cs` 파일을 열어 현재 내용을 읽는다.
|
||||
2. 아래 항목을 확인하고 결과를 기록한다:
|
||||
- [ ] `FastSession` 클래스가 이미 존재하는가? → 존재하면 STEP 1 건너뜀
|
||||
- [ ] `FastRecord` 클래스가 이미 존재하는가? → 존재하면 STEP 1 건너뜀
|
||||
- [ ] 파일 하단에 추가할 공간이 있는가?
|
||||
- [ ] `using System.ComponentModel.DataAnnotations.Schema;` import가 있는가? → 없으면 추가
|
||||
|
||||
---
|
||||
|
||||
## 작업 내용
|
||||
|
||||
**파일**: `src/Core/Domain/Entities/ExperionEntities.cs`
|
||||
|
||||
파일 하단에 아래 두 클래스를 추가한다. (기존 코드 수정 없음)
|
||||
|
||||
```csharp
|
||||
/// <summary>fastSession — 데이터 수집 세션 메타</summary>
|
||||
[Table("fast_session")]
|
||||
public class FastSession
|
||||
{
|
||||
[Column("id")] public int Id { get; set; }
|
||||
[Column("name")] public string Name { get; set; } = string.Empty;
|
||||
[Column("started_at")] public DateTime StartedAt { get; set; }
|
||||
[Column("ended_at")] public DateTime? EndedAt { get; set; }
|
||||
[Column("status")] public string Status { get; set; } = "Pending";
|
||||
// Status 허용값: Pending / Running / Completed / Cancelled / Failed / RowLimitReached
|
||||
[Column("sampling_ms")] public int SamplingMs { get; set; }
|
||||
[Column("duration_sec")] public int DurationSec { get; set; }
|
||||
[Column("tag_list")] public string TagList { get; set; } = "[]"; // JSONB → string[] 직렬화
|
||||
[Column("row_count")] public int RowCount { get; set; }
|
||||
[Column("retention_days")] public int? RetentionDays { get; set; } // null = 무한 보관
|
||||
[Column("pinned")] public bool Pinned { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>fastRecord — 시계열 데이터 (Long 포맷: 태그 1행/시점)</summary>
|
||||
[Table("fast_record")]
|
||||
public class FastRecord
|
||||
{
|
||||
[Column("id")] public int Id { get; set; }
|
||||
[Column("session_id")] public int SessionId { get; set; }
|
||||
[Column("recorded_at")] public DateTime RecordedAt { get; set; }
|
||||
[Column("tagname")] public string TagName { get; set; } = string.Empty;
|
||||
[Column("value")] public string? Value { get; set; }
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 사후 확인 (작업 후 반드시 수행)
|
||||
|
||||
1. `ExperionEntities.cs` 파일을 다시 열어 추가된 내용을 읽는다.
|
||||
2. 아래 항목을 하나씩 확인하고 결과를 [x] 로 기록한다
|
||||
- [ ] `FastSession` 클래스가 파일에 존재하는가?
|
||||
- [ ] `FastRecord` 클래스가 파일에 존재하는가?
|
||||
- [ ] `[Table("fast_session")]` 어트리뷰트가 올바르게 붙어 있는가?
|
||||
- [ ] `[Table("fast_record")]` 어트리뷰트가 올바르게 붙어 있는가?
|
||||
- [ ] `TagList` 필드의 기본값이 `"[]"` 문자열인가? (`string[]`이 아닌 `string` 타입)
|
||||
3. `dotnet build src/Core` 실행 → 경고/에러 0개 확인
|
||||
4. 문제가 있으면 수정 후 다시 빌드 확인
|
||||
|
||||
---
|
||||
|
||||
## 완료 조건
|
||||
- `dotnet build src/Core` 결과: 에러 0, 경고 0
|
||||
- `FastSession`, `FastRecord` 두 클래스 모두 파일에 존재
|
||||
Reference in New Issue
Block a user