Tài liệu này được dịch bởi AI. Đối với bất kỳ thông tin không chính xác nào, vui lòng tham khảo phiên bản tiếng Anh
name - Tên bộ sưu tậpstringtitle - Tiêu đề bộ sưu tậpstringmigrationRules - Quy tắc di chuyểnMigrationRule[]inherits - Kế thừa bộ sưu tậpstring[] | stringfilterTargetKey - Khóa mục tiêu lọcstring | string[]fields - Định nghĩa trườngFieldOptions[][]model - Mô hình tùy chỉnhstring | ModelStatic<Model>repository - Kho lưu trữ tùy chỉnhstring | RepositoryTypeautoGenId - Tự động tạo IDbooleantruetimestamps - Bật dấu thời gianbooleantruecreatedAt) và thời gian cập nhật (updatedAt) hay không.createdAt - Trường thời gian tạoboolean | stringtruecreatedAt).updatedAt - Trường thời gian cập nhậtboolean | stringtrueupdatedAt).deletedAt - Trường xóa mềmboolean | stringfalsedeletedAt).paranoid - Chế độ xóa mềmbooleanfalseunderscored - Quy tắc đặt tên dùng dấu gạch dướibooleanfalseunderscored) hay không.indexes - Cấu hình chỉ mụcModelIndexesOptions[]NocoBase hỗ trợ nhiều loại trường, tất cả đều được định nghĩa dựa trên kiểu liên hợp FieldOptions. Cấu hình trường bao gồm các thuộc tính cơ bản, thuộc tính dành riêng cho kiểu dữ liệu, thuộc tính quan hệ và thuộc tính hiển thị giao diện người dùng.
Tất cả các kiểu trường đều kế thừa từ BaseFieldOptions, cung cấp khả năng cấu hình trường chung:
Ví dụ:
name - Tên trườngstringhidden - Ẩn trườngbooleanfalsevalidation - Quy tắc xác thựcValidationOptions<T>allowNull - Cho phép giá trị nullbooleantrueNULL hay không.defaultValue - Giá trị mặc địnhanyunique - Ràng buộc duy nhấtboolean | stringfalseprimaryKey - Khóa chínhbooleanfalseautoIncrement - Tự động tăngbooleanfalsefield - Tên cột cơ sở dữ liệustringfield của Sequelize).comment - Chú thích cơ sở dữ liệustringtitle - Tiêu đề hiển thịstringdescription - Mô tả trườngstringinterface - Thành phần giao diệnstringtype: 'string' - Trường chuỗiVARCHARlength: Giới hạn độ dài chuỗitrim: Có tự động xóa khoảng trắng ở đầu và cuối hay khôngVí dụ:
type: 'text' - Trường văn bảnTEXT, MEDIUMTEXT, LONGTEXTlength: Kiểu độ dài văn bản MySQL (tiny/medium/long)Ví dụ:
type: 'integer' - Trường số nguyênINTEGERVí dụ:
type: 'bigInt' - Trường số nguyên lớninteger.BIGINTVí dụ:
type: 'float' - Trường số thực (float)FLOATprecision: Độ chính xác (tổng số chữ số)scale: Số chữ số thập phânVí dụ:
type: 'double' - Trường số thực độ chính xác kép (double)float.DOUBLEprecision: Độ chính xác (tổng số chữ số)scale: Số chữ số thập phânVí dụ:
type: 'real' - Trường số thực (real)REALprecision: Độ chính xác (tổng số chữ số)scale: Số chữ số thập phânVí dụ:
type: 'decimal' - Trường số thập phân chính xácDECIMALprecision: Độ chính xác (tổng số chữ số)scale: Số chữ số thập phânVí dụ:
type: 'boolean' - Trường BooleanBOOLEAN hoặc TINYINT(1)Ví dụ:
type: 'radio' - Trường chọn một (radio)BOOLEAN hoặc TINYINT(1)Ví dụ:
type: 'date' - Trường ngàyDATEtimezone: Có bao gồm thông tin múi giờ hay khôngVí dụ:
type: 'time' - Trường giờTIMEtimezone: Có bao gồm thông tin múi giờ hay khôngVí dụ:
type: 'datetimeTz' - Trường ngày giờ có múi giờTIMESTAMP WITH TIME ZONEtimezone: Có bao gồm thông tin múi giờ hay khôngVí dụ:
type: 'datetimeNoTz' - Trường ngày giờ không có múi giờTIMESTAMP hoặc DATETIMEtimezone: Có bao gồm thông tin múi giờ hay khôngVí dụ:
type: 'dateOnly' - Trường chỉ ngàyDATEtype: 'unixTimestamp' - Trường dấu thời gian UnixBIGINTepoch: Thời gian kỷ nguyênVí dụ:
type: 'json' - Trường JSONJSON hoặc TEXTtype: 'jsonb' - Trường JSONBJSONB (PostgreSQL)type: 'array' - Trường mảngJSON hoặc ARRAYdataType: Kiểu lưu trữ (json/array)elementType: Kiểu phần tử (STRING/INTEGER/BOOLEAN/JSON)Ví dụ:
type: 'set' - Trường tập hợpJSON hoặc ARRAYdataType: Kiểu lưu trữ (json/array)elementType: Kiểu phần tử (STRING/INTEGER/BOOLEAN/JSON)Ví dụ:
type: 'uuid' - Trường UUIDUUID hoặc VARCHAR(36)autoFill: Tự động điềnVí dụ:
type: 'nanoid' - Trường NanoidVARCHARsize: Độ dài IDcustomAlphabet: Bộ ký tự tùy chỉnhautoFill: Tự động điềnVí dụ:
type: 'uid' - Trường UID tùy chỉnhVARCHARprefix: Tiền tốpattern: Mẫu xác thựcVí dụ:
type: 'snowflakeId' - Trường ID SnowflakeBIGINTtype: 'password' - Trường mật khẩuVARCHARlength: Độ dài hàm băm (hash)randomBytesSize: Kích thước byte ngẫu nhiênVí dụ:
type: 'encryption' - Trường mã hóaVARCHARtype: 'virtual' - Trường ảotype: 'context' - Trường ngữ cảnhdataTypedataIndex: Đường dẫn chỉ mục dữ liệudataType: Kiểu dữ liệucreateOnly: Chỉ đặt khi tạoVí dụ:
type: 'belongsTo' - Quan hệ thuộc về (belongsTo)target: Tên bộ sưu tập đíchforeignKey: Tên trường khóa ngoạitargetKey: Tên trường khóa đích trong bảng đíchonDelete: Thao tác cascade khi xóaonUpdate: Thao tác cascade khi cập nhậtconstraints: Có bật ràng buộc khóa ngoại hay khôngVí dụ:
type: 'hasOne' - Quan hệ có một (hasOne)target: Tên bộ sưu tập đíchforeignKey: Tên trường khóa ngoạisourceKey: Tên trường khóa nguồn trong bảng nguồnonDelete: Thao tác cascade khi xóaonUpdate: Thao tác cascade khi cập nhậtconstraints: Có bật ràng buộc khóa ngoại hay khôngVí dụ:
type: 'hasMany' - Quan hệ có nhiều (hasMany)target: Tên bộ sưu tập đíchforeignKey: Tên trường khóa ngoạisourceKey: Tên trường khóa nguồn trong bảng nguồnsortBy: Trường sắp xếpsortable: Có thể sắp xếp được hay khôngonDelete: Thao tác cascade khi xóaonUpdate: Thao tác cascade khi cập nhậtconstraints: Có bật ràng buộc khóa ngoại hay khôngVí dụ:
type: 'belongsToMany' - Quan hệ nhiều-nhiều (belongsToMany)target: Tên bộ sưu tập đíchthrough: Tên bảng trung gianforeignKey: Tên trường khóa ngoạiotherKey: Khóa ngoại khác ở phía bên kia của bảng trung giansourceKey: Tên trường khóa nguồn trong bảng nguồntargetKey: Tên trường khóa đích trong bảng đíchonDelete: Thao tác cascade khi xóaonUpdate: Thao tác cascade khi cập nhậtconstraints: Có bật ràng buộc khóa ngoại hay khôngVí dụ: