테이블에서 라벨명으로 표시되게 수정
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user