이 문서는 AI로 번역되었습니다. 부정확한 내용이 있을 경우 영어 버전을 참조하세요
name - 컬렉션 이름stringtitle - 컬렉션 제목stringmigrationRules - 마이그레이션 규칙MigrationRule[]inherits - 컬렉션 상속string[] | stringfilterTargetKey - 필터 대상 키string | string[]fields - 필드 정의FieldOptions[][]model - 사용자 지정 모델string | ModelStatic<Model>repository - 사용자 지정 리포지토리string | RepositoryTypeautoGenId - ID 자동 생성booleantruetimestamps - 타임스탬프 활성화booleantruecreatedAt - 생성 시간 필드boolean | stringtrueupdatedAt - 업데이트 시간 필드boolean | stringtruedeletedAt - 소프트 삭제 필드boolean | stringfalseparanoid - 소프트 삭제 모드booleanfalseunderscored - 스네이크 케이스 명명booleanfalseindexes - 인덱스 구성ModelIndexesOptions[]NocoBase는 다양한 필드 타입을 지원하며, 모든 필드는 FieldOptions 유니온 타입을 기반으로 정의됩니다. 필드 구성은 기본 속성, 데이터 타입별 속성, 관계 속성 및 프런트엔드 렌더링 속성을 포함합니다.
모든 필드 타입은 BaseFieldOptions를 상속하며, 공통 필드 구성 기능을 제공합니다.
예시:
name - 필드 이름stringhidden - 필드 숨김booleanfalsevalidation - 유효성 검사 규칙ValidationOptions<T>allowNull - null 값 허용booleantrueNULL 값을 허용할지 여부를 제어합니다.defaultValue - 기본값anyunique - 고유 제약 조건boolean | stringfalseprimaryKey - 기본 키booleanfalseautoIncrement - 자동 증가booleanfalsefield - 데이터베이스 컬럼 이름stringfield와 동일합니다).comment - 데이터베이스 주석stringtitle - 표시 제목stringdescription - 필드 설명stringinterface - 인터페이스 컴포넌트stringtype: 'string' - 문자열 필드VARCHARlength: 문자열 길이 제한trim: 앞뒤 공백 자동 제거 여부예시:
type: 'text' - 텍스트 필드TEXT, MEDIUMTEXT, LONGTEXTlength: MySQL 텍스트 길이 타입 (tiny/medium/long)예시:
type: 'integer' - 정수 필드INTEGER예시:
type: 'bigInt' - 큰 정수 필드BIGINT예시:
type: 'float' - 부동 소수점 필드FLOATprecision: 정밀도 (총 자릿수)scale: 소수 자릿수예시:
type: 'double' - 배정밀도 부동 소수점 필드DOUBLEprecision: 정밀도 (총 자릿수)scale: 소수 자릿수예시:
type: 'real' - 실수 필드REALprecision: 정밀도 (총 자릿수)scale: 소수 자릿수예시:
type: 'decimal' - 정확한 소수 필드DECIMALprecision: 정밀도 (총 자릿수)scale: 소수 자릿수예시:
type: 'boolean' - 불리언 필드BOOLEAN 또는 TINYINT(1)예시:
type: 'radio' - 라디오 필드BOOLEAN 또는 TINYINT(1)예시:
type: 'date' - 날짜 필드DATEtimezone: 시간대 정보 포함 여부예시:
type: 'time' - 시간 필드TIMEtimezone: 시간대 정보 포함 여부예시:
type: 'datetimeTz' - 시간대 포함 날짜 시간 필드TIMESTAMP WITH TIME ZONEtimezone: 시간대 정보 포함 여부예시:
type: 'datetimeNoTz' - 시간대 미포함 날짜 시간 필드TIMESTAMP 또는 DATETIMEtimezone: 시간대 정보 포함 여부예시:
type: 'dateOnly' - 날짜 전용 필드DATEtype: 'unixTimestamp' - Unix 타임스탬프 필드BIGINTepoch: 에포크 시간예시:
type: 'json' - JSON 필드JSON 또는 TEXTtype: 'jsonb' - JSONB 필드JSONB (PostgreSQL)type: 'array' - 배열 필드JSON 또는 ARRAYdataType: 저장 타입 (json/array)elementType: 요소 타입 (STRING/INTEGER/BOOLEAN/JSON)예시:
type: 'set' - 집합 필드JSON 또는 ARRAYdataType: 저장 타입 (json/array)elementType: 요소 타입 (STRING/INTEGER/BOOLEAN/JSON)예시:
type: 'uuid' - UUID 필드UUID 또는 VARCHAR(36)autoFill: 자동 채우기예시:
type: 'nanoid' - Nanoid 필드VARCHARsize: ID 길이customAlphabet: 사용자 지정 문자 집합autoFill: 자동 채우기예시:
type: 'uid' - 사용자 지정 UID 필드VARCHARprefix: 접두사pattern: 유효성 검사 패턴예시:
type: 'snowflakeId' - 스노우플레이크 ID 필드BIGINTtype: 'password' - 비밀번호 필드VARCHARlength: 해시 길이randomBytesSize: 랜덤 바이트 크기예시:
type: 'encryption' - 암호화 필드VARCHARtype: 'virtual' - 가상 필드type: 'context' - 컨텍스트 필드dataType에 따라 결정됩니다.dataIndex: 데이터 인덱스 경로dataType: 데이터 타입createOnly: 생성 시에만 설정예시:
type: 'belongsTo' - Belongs To 관계target: 대상 컬렉션 이름foreignKey: 외래 키 필드 이름targetKey: 대상 테이블의 키 필드 이름onDelete: 삭제 시 연쇄 작업onUpdate: 업데이트 시 연쇄 작업constraints: 외래 키 제약 조건 활성화 여부예시:
type: 'hasOne' - Has One 관계target: 대상 컬렉션 이름foreignKey: 외래 키 필드 이름sourceKey: 소스 테이블의 키 필드 이름onDelete: 삭제 시 연쇄 작업onUpdate: 업데이트 시 연쇄 작업constraints: 외래 키 제약 조건 활성화 여부예시:
type: 'hasMany' - Has Many 관계target: 대상 컬렉션 이름foreignKey: 외래 키 필드 이름sourceKey: 소스 테이블의 키 필드 이름sortBy: 정렬 필드sortable: 정렬 가능 여부onDelete: 삭제 시 연쇄 작업onUpdate: 업데이트 시 연쇄 작업constraints: 외래 키 제약 조건 활성화 여부예시:
type: 'belongsToMany' - Belongs To Many 관계target: 대상 컬렉션 이름through: 중간 테이블 이름foreignKey: 외래 키 필드 이름otherKey: 중간 테이블의 다른 쪽 외래 키sourceKey: 소스 테이블의 키 필드 이름targetKey: 대상 테이블의 키 필드 이름onDelete: 삭제 시 연쇄 작업onUpdate: 업데이트 시 연쇄 작업constraints: 외래 키 제약 조건 활성화 여부예시: