/**
|
* 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;
|
/**
|
* 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;
|
}
|