From fd6b4674d20072d97bd06d47a6750d2a3296637e Mon Sep 17 00:00:00 2001 From: Rahul Lanjewar Date: Tue, 9 Sep 2025 14:37:30 +0530 Subject: [PATCH 01/11] feat: dropUnknownIndexes --- spec/DefinedSchemas.spec.js | 25 ++++++++++++++++++++++++- src/Options/index.js | 3 +++ src/SchemaMigrations/DefinedSchemas.js | 11 +++++++++-- 3 files changed, 36 insertions(+), 3 deletions(-) diff --git a/spec/DefinedSchemas.spec.js b/spec/DefinedSchemas.spec.js index e3d6fd51fe..ba9784f3df 100644 --- a/spec/DefinedSchemas.spec.js +++ b/spec/DefinedSchemas.spec.js @@ -371,7 +371,7 @@ describe('DefinedSchemas', () => { expect(schema.indexes).toEqual(indexes); }); - it('should delete removed indexes', async () => { + it('should delete removed indexes when dropUnknownIndexes is set to false', async () => { const server = await reconfigureServer(); let indexes = { complex: { createdAt: 1, updatedAt: 1 } }; @@ -393,6 +393,29 @@ describe('DefinedSchemas', () => { cleanUpIndexes(schema); expect(schema.indexes).toBeUndefined(); }); + + it('should not delete removed indexes when dropUnknownIndexes is set to true', async () => { + const server = await reconfigureServer(); + + let indexes = { complex: { createdAt: 1, updatedAt: 1 } }; + + let schemas = { definitions: [{ className: 'Test', indexes }], dropUnknownIndexes: false }; + await new DefinedSchemas(schemas, server.config).execute(); + + indexes = {}; + schemas = { definitions: [{ className: 'Test', indexes }], dropUnknownIndexes: false }; + + // Change indexes + await new DefinedSchemas(schemas, server.config).execute(); + let schema = await new Parse.Schema('Test').get(); + expect(schema.indexes).not.toBeUndefined(); + + // Update + await new DefinedSchemas(schemas, server.config).execute(); + schema = await new Parse.Schema('Test').get(); + expect(schema.indexes).not.toBeUndefined(); + }); + xit('should keep protected indexes', async () => { const server = await reconfigureServer(); diff --git a/src/Options/index.js b/src/Options/index.js index 75c1945108..9906c60ee8 100644 --- a/src/Options/index.js +++ b/src/Options/index.js @@ -25,6 +25,9 @@ export interface SchemaOptions { /* Is true if Parse Server will reject any attempts to modify the schema while the server is running. :DEFAULT: false */ lockSchemas: ?boolean; + /* Drops indexes that are not defined in the schema and are present in the database. Set this false if you are adding indexes manually so that it wont be dropped when you run schema migration + :DEFAULT: true */ + dropUnknownIndexes: ?boolean; /* Execute a callback before running schema migrations. */ beforeMigration: ?() => void | Promise; /* Execute a callback after running schema migrations. */ diff --git a/src/SchemaMigrations/DefinedSchemas.js b/src/SchemaMigrations/DefinedSchemas.js index e9c685797c..c809902b93 100644 --- a/src/SchemaMigrations/DefinedSchemas.js +++ b/src/SchemaMigrations/DefinedSchemas.js @@ -344,16 +344,23 @@ export class DefinedSchemas { const indexesToAdd = []; + // Only delete indexes which are present in database if dropUnknownIndexes is `true` // Check deletion if (cloudSchema.indexes) { Object.keys(cloudSchema.indexes).forEach(indexName => { if (!this.isProtectedIndex(localSchema.className, indexName)) { if (!localSchema.indexes || !localSchema.indexes[indexName]) { - newLocalSchema.deleteIndex(indexName); + // Only delete indexes which are present in database if dropUnknownIndexes is `true` + if(this.config.schema.dropUnknownIndexes){ + newLocalSchema.deleteIndex(indexName); + } } else if ( !this.paramsAreEquals(localSchema.indexes[indexName], cloudSchema.indexes[indexName]) ) { - newLocalSchema.deleteIndex(indexName); + // Only delete indexes which are present in database if dropUnknownIndexes is `true` + if(this.config.schema.dropUnknownIndexes){ + newLocalSchema.deleteIndex(indexName); + } if (localSchema.indexes) { indexesToAdd.push({ indexName, From 13ec1e10dcd48391fd6ea4e2d9bec59b1af7f525 Mon Sep 17 00:00:00 2001 From: Rahul Lanjewar Date: Tue, 9 Sep 2025 14:42:30 +0530 Subject: [PATCH 02/11] fix: minor fix --- src/SchemaMigrations/DefinedSchemas.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/SchemaMigrations/DefinedSchemas.js b/src/SchemaMigrations/DefinedSchemas.js index c809902b93..cf5a6de348 100644 --- a/src/SchemaMigrations/DefinedSchemas.js +++ b/src/SchemaMigrations/DefinedSchemas.js @@ -344,7 +344,6 @@ export class DefinedSchemas { const indexesToAdd = []; - // Only delete indexes which are present in database if dropUnknownIndexes is `true` // Check deletion if (cloudSchema.indexes) { Object.keys(cloudSchema.indexes).forEach(indexName => { From f7695c0ff8b6e3a78e7d03ba8ca426b9903bc43e Mon Sep 17 00:00:00 2001 From: Rahul Lanjewar Date: Tue, 9 Sep 2025 14:46:36 +0530 Subject: [PATCH 03/11] fix: ran definitions --- src/Options/Definitions.js | 7 +++++++ src/Options/docs.js | 1 + 2 files changed, 8 insertions(+) diff --git a/src/Options/Definitions.js b/src/Options/Definitions.js index 27f55865d0..1a85c0e45c 100644 --- a/src/Options/Definitions.js +++ b/src/Options/Definitions.js @@ -28,6 +28,13 @@ module.exports.SchemaOptions = { action: parsers.booleanParser, default: false, }, + dropUnknownIndexes: { + env: 'PARSE_SERVER_SCHEMA_DROP_UNKNOWN_INDEXES', + help: + 'Drops indexes that are not defined in the schema and are present in the database. Set this false if you are adding indexes manually so that it wont be dropped when you run schema migration', + action: parsers.booleanParser, + default: true, + }, lockSchemas: { env: 'PARSE_SERVER_SCHEMA_LOCK_SCHEMAS', help: diff --git a/src/Options/docs.js b/src/Options/docs.js index 31c4f4ea07..d9adffe3f6 100644 --- a/src/Options/docs.js +++ b/src/Options/docs.js @@ -4,6 +4,7 @@ * @property {Function} beforeMigration Execute a callback before running schema migrations. * @property {Any} definitions Rest representation on Parse.Schema https://docs.parseplatform.org/rest/guide/#adding-a-schema * @property {Boolean} deleteExtraFields Is true if Parse Server should delete any fields not defined in a schema definition. This should only be used during development. + * @property {Boolean} dropUnknownIndexes Drops indexes that are not defined in the schema and are present in the database. Set this false if you are adding indexes manually so that it wont be dropped when you run schema migration * @property {Boolean} lockSchemas Is true if Parse Server will reject any attempts to modify the schema while the server is running. * @property {Boolean} recreateModifiedFields Is true if Parse Server should recreate any fields that are different between the current database schema and theschema definition. This should only be used during development. * @property {Boolean} strict Is true if Parse Server should exit if schema update fail. From d3cacdada41a737d5beb2c069e0d0d528c3da966 Mon Sep 17 00:00:00 2001 From: Rahul Lanjewar Date: Tue, 9 Sep 2025 20:21:35 +0530 Subject: [PATCH 04/11] fix: may fix --- spec/DefinedSchemas.spec.js | 2 +- src/SchemaMigrations/DefinedSchemas.js | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/spec/DefinedSchemas.spec.js b/spec/DefinedSchemas.spec.js index ba9784f3df..3b433d8270 100644 --- a/spec/DefinedSchemas.spec.js +++ b/spec/DefinedSchemas.spec.js @@ -370,7 +370,7 @@ describe('DefinedSchemas', () => { cleanUpIndexes(schema); expect(schema.indexes).toEqual(indexes); }); - + it('should delete removed indexes when dropUnknownIndexes is set to false', async () => { const server = await reconfigureServer(); diff --git a/src/SchemaMigrations/DefinedSchemas.js b/src/SchemaMigrations/DefinedSchemas.js index cf5a6de348..f73c7b670e 100644 --- a/src/SchemaMigrations/DefinedSchemas.js +++ b/src/SchemaMigrations/DefinedSchemas.js @@ -350,16 +350,13 @@ export class DefinedSchemas { if (!this.isProtectedIndex(localSchema.className, indexName)) { if (!localSchema.indexes || !localSchema.indexes[indexName]) { // Only delete indexes which are present in database if dropUnknownIndexes is `true` - if(this.config.schema.dropUnknownIndexes){ + if(this.schemaOptions.dropUnknownIndexes !== false){ newLocalSchema.deleteIndex(indexName); } } else if ( !this.paramsAreEquals(localSchema.indexes[indexName], cloudSchema.indexes[indexName]) ) { - // Only delete indexes which are present in database if dropUnknownIndexes is `true` - if(this.config.schema.dropUnknownIndexes){ - newLocalSchema.deleteIndex(indexName); - } + newLocalSchema.deleteIndex(indexName); if (localSchema.indexes) { indexesToAdd.push({ indexName, From 6b4c5f85c915674291938a60b1368b4bca41c073 Mon Sep 17 00:00:00 2001 From: Rahul Lanjewar Date: Tue, 9 Sep 2025 20:22:46 +0530 Subject: [PATCH 05/11] fix: minor --- spec/DefinedSchemas.spec.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spec/DefinedSchemas.spec.js b/spec/DefinedSchemas.spec.js index 3b433d8270..6d8d7256a7 100644 --- a/spec/DefinedSchemas.spec.js +++ b/spec/DefinedSchemas.spec.js @@ -408,11 +408,13 @@ describe('DefinedSchemas', () => { // Change indexes await new DefinedSchemas(schemas, server.config).execute(); let schema = await new Parse.Schema('Test').get(); + cleanUpIndexes(schema); expect(schema.indexes).not.toBeUndefined(); // Update await new DefinedSchemas(schemas, server.config).execute(); schema = await new Parse.Schema('Test').get(); + cleanUpIndexes(schema); expect(schema.indexes).not.toBeUndefined(); }); From 8b722dc08147088c68df2d781f1beff1aa2a83bf Mon Sep 17 00:00:00 2001 From: Rahul Lanjewar Date: Tue, 9 Sep 2025 20:25:30 +0530 Subject: [PATCH 06/11] fix: minor --- src/SchemaMigrations/Migrations.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/SchemaMigrations/Migrations.js b/src/SchemaMigrations/Migrations.js index 8768911189..dffdec500a 100644 --- a/src/SchemaMigrations/Migrations.js +++ b/src/SchemaMigrations/Migrations.js @@ -6,6 +6,7 @@ export interface SchemaOptions { deleteExtraFields: ?boolean; recreateModifiedFields: ?boolean; lockSchemas: ?boolean; + dropUnknownIndexes: ?boolean; beforeMigration: ?() => void | Promise; afterMigration: ?() => void | Promise; } From 79521d612e5d26bd9819ca2e6329ad7889ca8dcc Mon Sep 17 00:00:00 2001 From: Rahul Lanjewar Date: Tue, 9 Sep 2025 20:27:40 +0530 Subject: [PATCH 07/11] fix: linter --- spec/DefinedSchemas.spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/DefinedSchemas.spec.js b/spec/DefinedSchemas.spec.js index 6d8d7256a7..b28245764b 100644 --- a/spec/DefinedSchemas.spec.js +++ b/spec/DefinedSchemas.spec.js @@ -370,7 +370,7 @@ describe('DefinedSchemas', () => { cleanUpIndexes(schema); expect(schema.indexes).toEqual(indexes); }); - + it('should delete removed indexes when dropUnknownIndexes is set to false', async () => { const server = await reconfigureServer(); From bf66471115320bd9572270efe4f7d7da7c0594fc Mon Sep 17 00:00:00 2001 From: Rahul Lanjewar Date: Wed, 10 Sep 2025 09:39:23 +0530 Subject: [PATCH 08/11] fix: minor fix --- spec/DefinedSchemas.spec.js | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/spec/DefinedSchemas.spec.js b/spec/DefinedSchemas.spec.js index b28245764b..0b3e8804fb 100644 --- a/spec/DefinedSchemas.spec.js +++ b/spec/DefinedSchemas.spec.js @@ -371,7 +371,7 @@ describe('DefinedSchemas', () => { expect(schema.indexes).toEqual(indexes); }); - it('should delete removed indexes when dropUnknownIndexes is set to false', async () => { + it('should delete unknown indexes when dropUnknownIndexes is not set', async () => { const server = await reconfigureServer(); let indexes = { complex: { createdAt: 1, updatedAt: 1 } }; @@ -394,7 +394,30 @@ describe('DefinedSchemas', () => { expect(schema.indexes).toBeUndefined(); }); - it('should not delete removed indexes when dropUnknownIndexes is set to true', async () => { + it('should delete unknown indexes when dropUnknownIndexes is set to true', async () => { + const server = await reconfigureServer(); + + let indexes = { complex: { createdAt: 1, updatedAt: 1 } }; + + let schemas = { definitions: [{ className: 'Test', indexes }], dropUnknownIndexes: true }; + await new DefinedSchemas(schemas, server.config).execute(); + + indexes = {}; + schemas = { definitions: [{ className: 'Test', indexes }], dropUnknownIndexes: true }; + // Change indexes + await new DefinedSchemas(schemas, server.config).execute(); + let schema = await new Parse.Schema('Test').get(); + cleanUpIndexes(schema); + expect(schema.indexes).toBeUndefined(); + + // Update + await new DefinedSchemas(schemas, server.config).execute(); + schema = await new Parse.Schema('Test').get(); + cleanUpIndexes(schema); + expect(schema.indexes).toBeUndefined(); + }); + + it('should not delete unknown indexes when dropUnknownIndexes is set to false', async () => { const server = await reconfigureServer(); let indexes = { complex: { createdAt: 1, updatedAt: 1 } }; From 75b2a93e4ca5ef7a1aa85f66d044aba92b460a3b Mon Sep 17 00:00:00 2001 From: Rahul Lanjewar Date: Wed, 10 Sep 2025 10:33:50 +0530 Subject: [PATCH 09/11] fix: remove weak assertions --- spec/DefinedSchemas.spec.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/spec/DefinedSchemas.spec.js b/spec/DefinedSchemas.spec.js index 0b3e8804fb..60d4943460 100644 --- a/spec/DefinedSchemas.spec.js +++ b/spec/DefinedSchemas.spec.js @@ -420,25 +420,24 @@ describe('DefinedSchemas', () => { it('should not delete unknown indexes when dropUnknownIndexes is set to false', async () => { const server = await reconfigureServer(); - let indexes = { complex: { createdAt: 1, updatedAt: 1 } }; + const indexes = { complex: { createdAt: 1, updatedAt: 1 } }; let schemas = { definitions: [{ className: 'Test', indexes }], dropUnknownIndexes: false }; await new DefinedSchemas(schemas, server.config).execute(); - indexes = {}; - schemas = { definitions: [{ className: 'Test', indexes }], dropUnknownIndexes: false }; + schemas = { definitions: [{ className: 'Test', indexes: {} }], dropUnknownIndexes: false }; // Change indexes await new DefinedSchemas(schemas, server.config).execute(); let schema = await new Parse.Schema('Test').get(); cleanUpIndexes(schema); - expect(schema.indexes).not.toBeUndefined(); + expect(schema.indexes).toEqual({ complex: { createdAt: 1, updatedAt: 1 } }); // Update await new DefinedSchemas(schemas, server.config).execute(); schema = await new Parse.Schema('Test').get(); cleanUpIndexes(schema); - expect(schema.indexes).not.toBeUndefined(); + expect(schema.indexes).toEqual(indexes); }); xit('should keep protected indexes', async () => { From a3c7c4cdbdebc2d6c928b6e432669c7d77c0859a Mon Sep 17 00:00:00 2001 From: Rahul Lanjewar Date: Wed, 10 Sep 2025 10:34:51 +0530 Subject: [PATCH 10/11] fix: remove extra trailing space --- spec/DefinedSchemas.spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/DefinedSchemas.spec.js b/spec/DefinedSchemas.spec.js index 60d4943460..4f3d1b4dca 100644 --- a/spec/DefinedSchemas.spec.js +++ b/spec/DefinedSchemas.spec.js @@ -425,7 +425,7 @@ describe('DefinedSchemas', () => { let schemas = { definitions: [{ className: 'Test', indexes }], dropUnknownIndexes: false }; await new DefinedSchemas(schemas, server.config).execute(); - schemas = { definitions: [{ className: 'Test', indexes: {} }], dropUnknownIndexes: false }; + schemas = { definitions: [{ className: 'Test', indexes: {} }], dropUnknownIndexes: false }; // Change indexes await new DefinedSchemas(schemas, server.config).execute(); From 512b32bf8d72152205814d5284f301721de0669b Mon Sep 17 00:00:00 2001 From: Rahul Lanjewar Date: Wed, 10 Sep 2025 21:20:31 +0530 Subject: [PATCH 11/11] fix: suggested changes --- spec/DefinedSchemas.spec.js | 14 +++++++------- src/Options/Definitions.js | 8 ++++---- src/Options/docs.js | 2 +- src/Options/index.js | 6 +++--- src/SchemaMigrations/DefinedSchemas.js | 4 ++-- src/SchemaMigrations/Migrations.js | 2 +- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/spec/DefinedSchemas.spec.js b/spec/DefinedSchemas.spec.js index 4f3d1b4dca..b2cae864c1 100644 --- a/spec/DefinedSchemas.spec.js +++ b/spec/DefinedSchemas.spec.js @@ -371,7 +371,7 @@ describe('DefinedSchemas', () => { expect(schema.indexes).toEqual(indexes); }); - it('should delete unknown indexes when dropUnknownIndexes is not set', async () => { + it('should delete unknown indexes when keepUnknownIndexes is not set', async () => { const server = await reconfigureServer(); let indexes = { complex: { createdAt: 1, updatedAt: 1 } }; @@ -394,16 +394,16 @@ describe('DefinedSchemas', () => { expect(schema.indexes).toBeUndefined(); }); - it('should delete unknown indexes when dropUnknownIndexes is set to true', async () => { + it('should delete unknown indexes when keepUnknownIndexes is set to false', async () => { const server = await reconfigureServer(); let indexes = { complex: { createdAt: 1, updatedAt: 1 } }; - let schemas = { definitions: [{ className: 'Test', indexes }], dropUnknownIndexes: true }; + let schemas = { definitions: [{ className: 'Test', indexes }], keepUnknownIndexes: false }; await new DefinedSchemas(schemas, server.config).execute(); indexes = {}; - schemas = { definitions: [{ className: 'Test', indexes }], dropUnknownIndexes: true }; + schemas = { definitions: [{ className: 'Test', indexes }], keepUnknownIndexes: false }; // Change indexes await new DefinedSchemas(schemas, server.config).execute(); let schema = await new Parse.Schema('Test').get(); @@ -417,15 +417,15 @@ describe('DefinedSchemas', () => { expect(schema.indexes).toBeUndefined(); }); - it('should not delete unknown indexes when dropUnknownIndexes is set to false', async () => { + it('should not delete unknown indexes when keepUnknownIndexes is set to true', async () => { const server = await reconfigureServer(); const indexes = { complex: { createdAt: 1, updatedAt: 1 } }; - let schemas = { definitions: [{ className: 'Test', indexes }], dropUnknownIndexes: false }; + let schemas = { definitions: [{ className: 'Test', indexes }], keepUnknownIndexes: true }; await new DefinedSchemas(schemas, server.config).execute(); - schemas = { definitions: [{ className: 'Test', indexes: {} }], dropUnknownIndexes: false }; + schemas = { definitions: [{ className: 'Test', indexes: {} }], keepUnknownIndexes: true }; // Change indexes await new DefinedSchemas(schemas, server.config).execute(); diff --git a/src/Options/Definitions.js b/src/Options/Definitions.js index 1a85c0e45c..cf8072dc91 100644 --- a/src/Options/Definitions.js +++ b/src/Options/Definitions.js @@ -28,12 +28,12 @@ module.exports.SchemaOptions = { action: parsers.booleanParser, default: false, }, - dropUnknownIndexes: { - env: 'PARSE_SERVER_SCHEMA_DROP_UNKNOWN_INDEXES', + keepUnknownIndexes: { + env: 'PARSE_SERVER_SCHEMA_KEEP_UNKNOWN_INDEXES', help: - 'Drops indexes that are not defined in the schema and are present in the database. Set this false if you are adding indexes manually so that it wont be dropped when you run schema migration', + 'Keep indexes that are not defined in the schema and are present in the database. Set this to true if you are adding indexes manually so that it wont be dropped when you run schema migration', action: parsers.booleanParser, - default: true, + default: false, }, lockSchemas: { env: 'PARSE_SERVER_SCHEMA_LOCK_SCHEMAS', diff --git a/src/Options/docs.js b/src/Options/docs.js index d9adffe3f6..a25cda57d2 100644 --- a/src/Options/docs.js +++ b/src/Options/docs.js @@ -4,7 +4,7 @@ * @property {Function} beforeMigration Execute a callback before running schema migrations. * @property {Any} definitions Rest representation on Parse.Schema https://docs.parseplatform.org/rest/guide/#adding-a-schema * @property {Boolean} deleteExtraFields Is true if Parse Server should delete any fields not defined in a schema definition. This should only be used during development. - * @property {Boolean} dropUnknownIndexes Drops indexes that are not defined in the schema and are present in the database. Set this false if you are adding indexes manually so that it wont be dropped when you run schema migration + * @property {Boolean} keepUnknownIndexes Keep indexes that are not defined in the schema and are present in the database. Set this to true if you are adding indexes manually so that it wont be dropped when you run schema migration * @property {Boolean} lockSchemas Is true if Parse Server will reject any attempts to modify the schema while the server is running. * @property {Boolean} recreateModifiedFields Is true if Parse Server should recreate any fields that are different between the current database schema and theschema definition. This should only be used during development. * @property {Boolean} strict Is true if Parse Server should exit if schema update fail. diff --git a/src/Options/index.js b/src/Options/index.js index 9906c60ee8..6522ede054 100644 --- a/src/Options/index.js +++ b/src/Options/index.js @@ -25,9 +25,9 @@ export interface SchemaOptions { /* Is true if Parse Server will reject any attempts to modify the schema while the server is running. :DEFAULT: false */ lockSchemas: ?boolean; - /* Drops indexes that are not defined in the schema and are present in the database. Set this false if you are adding indexes manually so that it wont be dropped when you run schema migration - :DEFAULT: true */ - dropUnknownIndexes: ?boolean; + /* Keep indexes that are not defined in the schema and are present in the database. Set this to true if you are adding indexes manually so that it wont be dropped when you run schema migration + :DEFAULT: false */ + keepUnknownIndexes: ?boolean; /* Execute a callback before running schema migrations. */ beforeMigration: ?() => void | Promise; /* Execute a callback after running schema migrations. */ diff --git a/src/SchemaMigrations/DefinedSchemas.js b/src/SchemaMigrations/DefinedSchemas.js index f73c7b670e..c927041c44 100644 --- a/src/SchemaMigrations/DefinedSchemas.js +++ b/src/SchemaMigrations/DefinedSchemas.js @@ -349,8 +349,8 @@ export class DefinedSchemas { Object.keys(cloudSchema.indexes).forEach(indexName => { if (!this.isProtectedIndex(localSchema.className, indexName)) { if (!localSchema.indexes || !localSchema.indexes[indexName]) { - // Only delete indexes which are present in database if dropUnknownIndexes is `true` - if(this.schemaOptions.dropUnknownIndexes !== false){ + // If keepUnknownIndex is falsy, then delete all unknown indexes from the db. + if(!this.schemaOptions.keepUnknownIndexes){ newLocalSchema.deleteIndex(indexName); } } else if ( diff --git a/src/SchemaMigrations/Migrations.js b/src/SchemaMigrations/Migrations.js index dffdec500a..23499bdba7 100644 --- a/src/SchemaMigrations/Migrations.js +++ b/src/SchemaMigrations/Migrations.js @@ -6,7 +6,7 @@ export interface SchemaOptions { deleteExtraFields: ?boolean; recreateModifiedFields: ?boolean; lockSchemas: ?boolean; - dropUnknownIndexes: ?boolean; + keepUnknownIndexes: ?boolean; beforeMigration: ?() => void | Promise; afterMigration: ?() => void | Promise; }