fix: #953
This commit is contained in:
@@ -10,6 +10,7 @@ const buildCollectionSchema = (collection: SanitizedCollectionConfig, config: Sa
|
||||
config,
|
||||
collection.fields,
|
||||
{
|
||||
draftsEnabled: Boolean(typeof collection?.versions === 'object' && collection.versions.drafts),
|
||||
options: { timestamps: collection.timestamps !== false, ...schemaOptions },
|
||||
},
|
||||
);
|
||||
|
||||
@@ -10,6 +10,7 @@ export type BuildSchemaOptions = {
|
||||
options?: SchemaOptions
|
||||
allowIDField?: boolean
|
||||
disableUnique?: boolean
|
||||
draftsEnabled?: boolean
|
||||
global?: boolean
|
||||
}
|
||||
|
||||
@@ -19,11 +20,13 @@ const formatBaseSchema = (field: NonPresentationalField, buildSchemaOptions: Bui
|
||||
const schema: SchemaTypeOptions<unknown> = {
|
||||
unique: (!buildSchemaOptions.disableUnique && field.unique) || false,
|
||||
required: false,
|
||||
index: field.index || field.unique || false,
|
||||
index: field.index || (!buildSchemaOptions.disableUnique && field.unique) || false,
|
||||
};
|
||||
if (field.unique && field.localized) {
|
||||
|
||||
if ((schema.unique && (field.localized || buildSchemaOptions.draftsEnabled))) {
|
||||
schema.sparse = true;
|
||||
}
|
||||
|
||||
return schema;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user