Merge pull request '테이블 타입관리 에러 해결' (#11) from tableMngError into dev
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/11
This commit is contained in:
commit
811583c8ef
|
|
@ -22,7 +22,7 @@ export class TableManagementService {
|
||||||
logger.info("테이블 목록 조회 시작");
|
logger.info("테이블 목록 조회 시작");
|
||||||
|
|
||||||
// information_schema는 여전히 $queryRaw 사용
|
// information_schema는 여전히 $queryRaw 사용
|
||||||
const tables = await prisma.$queryRaw<TableInfo[]>`
|
const rawTables = await prisma.$queryRaw<any[]>`
|
||||||
SELECT
|
SELECT
|
||||||
t.table_name as "tableName",
|
t.table_name as "tableName",
|
||||||
COALESCE(tl.table_label, t.table_name) as "displayName",
|
COALESCE(tl.table_label, t.table_name) as "displayName",
|
||||||
|
|
@ -38,6 +38,12 @@ export class TableManagementService {
|
||||||
ORDER BY t.table_name
|
ORDER BY t.table_name
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
// BigInt를 Number로 변환하여 JSON 직렬화 문제 해결
|
||||||
|
const tables: TableInfo[] = rawTables.map((table) => ({
|
||||||
|
...table,
|
||||||
|
columnCount: Number(table.columnCount), // BigInt → Number 변환
|
||||||
|
}));
|
||||||
|
|
||||||
logger.info(`테이블 목록 조회 완료: ${tables.length}개`);
|
logger.info(`테이블 목록 조회 완료: ${tables.length}개`);
|
||||||
return tables;
|
return tables;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|
@ -57,7 +63,7 @@ export class TableManagementService {
|
||||||
logger.info(`컬럼 정보 조회 시작: ${tableName}`);
|
logger.info(`컬럼 정보 조회 시작: ${tableName}`);
|
||||||
|
|
||||||
// information_schema는 여전히 $queryRaw 사용
|
// information_schema는 여전히 $queryRaw 사용
|
||||||
const columns = await prisma.$queryRaw<ColumnTypeInfo[]>`
|
const rawColumns = await prisma.$queryRaw<any[]>`
|
||||||
SELECT
|
SELECT
|
||||||
c.column_name as "columnName",
|
c.column_name as "columnName",
|
||||||
COALESCE(cl.column_label, c.column_name) as "displayName",
|
COALESCE(cl.column_label, c.column_name) as "displayName",
|
||||||
|
|
@ -82,6 +88,17 @@ export class TableManagementService {
|
||||||
ORDER BY c.ordinal_position
|
ORDER BY c.ordinal_position
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
// BigInt를 Number로 변환하여 JSON 직렬화 문제 해결
|
||||||
|
const columns: ColumnTypeInfo[] = rawColumns.map((column) => ({
|
||||||
|
...column,
|
||||||
|
maxLength: column.maxLength ? Number(column.maxLength) : null,
|
||||||
|
numericPrecision: column.numericPrecision
|
||||||
|
? Number(column.numericPrecision)
|
||||||
|
: null,
|
||||||
|
numericScale: column.numericScale ? Number(column.numericScale) : null,
|
||||||
|
displayOrder: column.displayOrder ? Number(column.displayOrder) : null,
|
||||||
|
}));
|
||||||
|
|
||||||
logger.info(`컬럼 정보 조회 완료: ${tableName}, ${columns.length}개`);
|
logger.info(`컬럼 정보 조회 완료: ${tableName}, ${columns.length}개`);
|
||||||
return columns;
|
return columns;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue