테이블에서 라벨명으로 표시되게 수정

This commit is contained in:
kjs
2025-09-17 10:35:36 +09:00
parent 7a39acaaca
commit 2aa4d83f33
3 changed files with 38 additions and 5 deletions

View File

@@ -277,10 +277,10 @@ export class EntityJoinService {
}>
> {
try {
// 1. 테이블의 기본 컬럼 정보 조회
const columns = (await prisma.$queryRaw`
SELECT
column_name,
column_name as display_name,
data_type
FROM information_schema.columns
WHERE table_name = ${tableName}
@@ -288,13 +288,30 @@ export class EntityJoinService {
ORDER BY ordinal_position
`) as Array<{
column_name: string;
display_name: string;
data_type: string;
}>;
// 2. column_labels 테이블에서 라벨 정보 조회
const columnLabels = await prisma.column_labels.findMany({
where: { table_name: tableName },
select: {
column_name: true,
column_label: true,
},
});
// 3. 라벨 정보를 맵으로 변환
const labelMap = new Map<string, string>();
columnLabels.forEach((label) => {
if (label.column_name && label.column_label) {
labelMap.set(label.column_name, label.column_label);
}
});
// 4. 컬럼 정보와 라벨 정보 결합
return columns.map((col) => ({
columnName: col.column_name,
displayName: col.display_name,
displayName: labelMap.get(col.column_name) || col.column_name, // 라벨이 있으면 사용, 없으면 컬럼명
dataType: col.data_type,
}));
} catch (error) {