@g1cloud/entity-modeler-next 5.2.53 → 5.2.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapter/persisted.d.ts +1 -1
- package/dist/agent/symbolicOp.d.ts +5 -0
- package/dist/core/sequenceName.d.ts +26 -0
- package/dist/core/types.d.ts +8 -1
- package/dist/entity-modeler-next.css +1 -1
- package/dist/entity-modeler.js +12101 -11954
- package/dist/entity-modeler.umd.cjs +35 -35
- package/dist/i18n/ko.d.ts +5 -1
- package/dist/view/useAttributeEditing.d.ts +3 -0
- package/package.json +1 -1
|
@@ -38,7 +38,7 @@ export interface PDbAttr {
|
|
|
38
38
|
multiValue?: boolean;
|
|
39
39
|
/** 레거시 AttributeDatabaseAttribute.multiValueSeparator(기본 "|"). 라운드트립 보존 전용. */
|
|
40
40
|
multiValueSeparator?: string;
|
|
41
|
-
/** 레거시 AttributeDatabaseAttribute.sequenceName.
|
|
41
|
+
/** 레거시 AttributeDatabaseAttribute.sequenceName → 논리 `DbColumn.sequenceName`(오버라이드·애플리케이션 채번 두 용법 · 그쪽 주석). */
|
|
42
42
|
sequenceName?: string;
|
|
43
43
|
/** FK 컬럼이 참조하는 부모 PK 컬럼 modelId. 식별자 전파(derivedFrom) 재구성의 명시 링크. */
|
|
44
44
|
targetModelId?: string;
|
|
@@ -102,6 +102,11 @@ export interface AttrSpec {
|
|
|
102
102
|
length?: number;
|
|
103
103
|
/** dbAttr 소수 자릿수(DECIMAL/NUMERIC scale). length 동반이 일반적. 0/미설정은 미지정. */
|
|
104
104
|
scale?: number;
|
|
105
|
+
/**
|
|
106
|
+
* dbAttr 채번 시퀀스명(`DbColumn.sequenceName`). autoIncrement 없는 비PK 컬럼이면 «애플리케이션 채번»이고 여러
|
|
107
|
+
* 속성이 같은 이름을 공유해도 정상(공유 채번기). 컬럼 생성 트리거 필드(dataType 동반 필수).
|
|
108
|
+
*/
|
|
109
|
+
sequenceName?: string;
|
|
105
110
|
/**
|
|
106
111
|
* 코드성 속성의 group code 바인딩(레거시 AttributeModel.groupCode). `type:'GroupCodeEnum'`이면 필수.
|
|
107
112
|
* 모델→모델 복사·코드 동기화에서 GroupCodeEnum 속성을 온전히 재현하는 핵심 필드(없으면 깨진 파생 타입).
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { DbColumn } from './types';
|
|
2
|
+
export type SequenceClaim =
|
|
3
|
+
/** 관례형 파생 — 사람이 고르지 않은 이름. 충돌 판정의 **지목 대상**(고치는 비용이 1편집 = 이름 명시). */
|
|
4
|
+
{
|
|
5
|
+
kind: 'derived';
|
|
6
|
+
name: string;
|
|
7
|
+
}
|
|
8
|
+
/** 명시 — `sequenceName`. `autoIncrement` 는 ①오버라이드 / ②애플리케이션 채번을 가른다. */
|
|
9
|
+
| {
|
|
10
|
+
kind: 'explicit';
|
|
11
|
+
name: string;
|
|
12
|
+
autoIncrement: boolean;
|
|
13
|
+
};
|
|
14
|
+
/** 관례형 시퀀스명 = `<table>_<column>_seq`(PG serial 관례). 절단하지 않는다(헤더 ①~④). */
|
|
15
|
+
export declare function defaultSequenceName(table: string, column: string): string;
|
|
16
|
+
/** 컬럼 `DEFAULT nextval` 이 성립하는가 — `autoIncrement` × 수치형. 비수치형 자동증가는 타입이 맞지 않는다. */
|
|
17
|
+
export declare function isDbDefaultSequence(col: Pick<DbColumn, 'autoIncrement' | 'dataType'>): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* 이 컬럼이 차지하는 시퀀스명과 그 출처. 아무 시퀀스도 쓰지 않으면 `null`.
|
|
20
|
+
*
|
|
21
|
+
* - `sequenceName` 이 비공백이면 **explicit** — 타입·`autoIncrement` 와 무관하게 그 이름을 차지한다
|
|
22
|
+
* (애플리케이션 채번은 문자열 컬럼이 지배 형상이므로 수치형 게이트를 두면 그 용법이 통째로 사라진다).
|
|
23
|
+
* - 아니면 `autoIncrement` × 수치형일 때만 **derived**. 비수치형 자동증가는 `DEFAULT nextval` 을 낼 수 없어
|
|
24
|
+
* 시퀀스를 차지하지 않는다(DDL 이 주석으로 신호하는 자리).
|
|
25
|
+
*/
|
|
26
|
+
export declare function sequenceClaim(col: Pick<DbColumn, 'autoIncrement' | 'sequenceName' | 'dataType'>, table: string, column: string): SequenceClaim | null;
|
package/dist/core/types.d.ts
CHANGED
|
@@ -226,7 +226,14 @@ export interface DbColumn {
|
|
|
226
226
|
multiValue?: boolean;
|
|
227
227
|
/** 다중값 직렬화 구분자(레거시 기본 "|"). multiValue=false여도 원형 보존 위해 verbatim 유지. */
|
|
228
228
|
multiValueSeparator?: string;
|
|
229
|
-
/**
|
|
229
|
+
/**
|
|
230
|
+
* 이 컬럼이 번호를 받는 시퀀스의 이름(레거시 AttributeDatabaseAttribute.sequenceName). 두 용법을 한 필드가 담는다:
|
|
231
|
+
* ① `autoIncrement` 동반 — 관례형 `<table>_<column>_seq` 를 **오버라이드**(DDL `CREATE SEQUENCE` + `DEFAULT nextval`).
|
|
232
|
+
* ② `autoIncrement` 없음 — **애플리케이션 채번**. DB 는 시퀀스만 제공하고 값은 채번기가 접두어를 입혀 만든다
|
|
233
|
+
* (문자열 컬럼이 지배 형상). 여러 컬럼이 **같은 이름을 공유**하는 것이 정상(공유 채번기).
|
|
234
|
+
* 산식·충돌 판정(CHK-NAME-12)·소비처 형상은 `sequenceName.ts` 헤더가 소유한다. ⚠️종전 주석 「라운드트립 보존
|
|
235
|
+
* 전용」은 2026-09 DDL 배선 이후 거짓이었다(2026-09-16 정정).
|
|
236
|
+
*/
|
|
230
237
|
sequenceName?: string;
|
|
231
238
|
}
|
|
232
239
|
export interface Attribute {
|