/** * Arguments for IndexMetadata class. */ export interface IndexMetadataArgs { /** * Class to which index is applied. */ target: Function | string; /** * Index name. */ name?: string; /** * Columns combination to be used as index. */ columns?: ((object?: any) => (any[] | { [key: string]: number; })) | string[]; /** * Indicates if index must be unique or not. */ unique?: boolean; /** * The SPATIAL modifier indexes the entire column and does not allow indexed columns to contain NULL values. * Works only in MySQL. */ spatial?: boolean; /** * The FULLTEXT modifier indexes the entire column and does not allow prefixing. * Works only in MySQL. */ fulltext?: boolean; /** * Fulltext parser. * Works only in MySQL. */ parser?: string; /** * Index filter condition. */ where?: string; /** * Indicates if index must sync with database index. */ synchronize?: boolean; /** * If true, the index only references documents with the specified field. * These indexes use less space but behave differently in some situations (particularly sorts). * This option is only supported for mongodb database. */ sparse?: boolean; /** * Builds the index in the background so that building an index an does not block other database activities. * This option is only supported for mongodb database. */ background?: boolean; /** * Specifies a time to live, in seconds. * This option is only supported for mongodb database. */ expireAfterSeconds?: number; }