From 65acbd144f592d4e4613e380fe5caadaba90046a Mon Sep 17 00:00:00 2001 From: Daan Middendorp Date: Mon, 6 May 2019 10:40:39 +0200 Subject: [PATCH 1/4] Change index to proper format --- lib/models/migration.json | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/models/migration.json b/lib/models/migration.json index bcb9524..5cb0187 100644 --- a/lib/models/migration.json +++ b/lib/models/migration.json @@ -17,7 +17,14 @@ }, "indexes": { "name_index": { - "name": 1 + "keys": { + "name": 1 + }, + "options": { + "unique": true + }, + "columns": "name", + "kind": "unique" } }, "methods": { From ac01a0d7db350da3f2981872269709a84342d2e8 Mon Sep 17 00:00:00 2001 From: Daan Middendorp Date: Mon, 6 May 2019 10:49:12 +0200 Subject: [PATCH 2/4] Remove unused migrationMap --- README.md | 4 ++-- lib/index.js | 14 ++------------ lib/models/migration-map.js | 3 --- lib/models/migration-map.json | 35 ----------------------------------- test/test.js | 3 --- 5 files changed, 4 insertions(+), 55 deletions(-) delete mode 100644 lib/models/migration-map.js delete mode 100644 lib/models/migration-map.json diff --git a/README.md b/README.md index 5e77970..484fff7 100644 --- a/README.md +++ b/README.md @@ -42,11 +42,11 @@ The usage is based on the node-db-migrate project. - `dataSource` - [String] : Datasource to connect the Migration and MigrationMap models to. *(default: db)* + [String] : Datasource to connect the Migration model to. *(default: db)* - `acls` - [Array] : ACLs to apply to Migration and MigrationMap models. *(default: [])* + [Array] : ACLs to apply to Migration model. *(default: [])* ## Running Migrations diff --git a/lib/index.js b/lib/index.js index 12760db..014366e 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,7 +1,6 @@ var debug = require('debug')('loopback-component-migrate'); var loopback = require('loopback'); var migrationDef = require('./models/migration.json'); -var migrationMapDef = require('./models/migration-map.json'); // Remove proerties that will confuse LB function getSettings(def) { @@ -30,12 +29,11 @@ module.exports = function(app, options) { } var migrationModelSettings = getSettings(migrationDef); - var migrationMapModelSettings = getSettings(migrationMapDef); if (typeof options.acls !== 'object') { - migrationModelSettings.acls = migrationMapModelSettings.acls = []; + migrationModelSettings.acls = []; } else { - migrationModelSettings.acls = migrationMapModelSettings.acls = options.acls; + migrationModelSettings.acls = options.acls; } // Support for loopback 2.x. @@ -51,17 +49,9 @@ module.exports = function(app, options) { migrationDef.properties, migrationModelSettings); - debug('Creating MigrationMap model using settings: %o', migrationModelSettings); - var MigrationMapModel = dataSource.createModel( - migrationMapDef.name, - migrationMapDef.properties, - migrationMapModelSettings); - var Migration = require('./models/migration')(MigrationModel, options); - var MigrationMap = require('./models/migration-map')(MigrationMapModel, options); app.model(Migration); - app.model(MigrationMap); if (!options.enableRest) { if (Migration.disableRemoteMethodByName) { diff --git a/lib/models/migration-map.js b/lib/models/migration-map.js deleted file mode 100644 index aa91860..0000000 --- a/lib/models/migration-map.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = function(MigrationMap) { - return MigrationMap; -}; diff --git a/lib/models/migration-map.json b/lib/models/migration-map.json deleted file mode 100644 index 8dfeb4f..0000000 --- a/lib/models/migration-map.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "MigrationMap", - "plural": "MigrationMaps", - "base": "PersistedModel", - "description": "Migration Mappings.", - "properties": { - "type": { - "type": "String", - "comments": "Mapping type.", - "required": true - }, - "from": { - "type": "String", - "comments": "Source Id.", - "required": true - }, - "to": { - "type": "String", - "comments": "Target Id.", - "required": true - }, - "data": { - "type": "Object", - "comments": "Additional data." - } - }, - "indexes": { - "type_from_index": { - "keys": { - "type": 1, - "from": 1 - } - } - } -} diff --git a/test/test.js b/test/test.js index a7630ef..17424ae 100644 --- a/test/test.js +++ b/test/test.js @@ -26,9 +26,6 @@ describe('loopback db migrate', function() { expect(app.models.Migration).to.exist; expect(app.models.Migration).itself.to.respondTo('migrate'); }); - it('should attach a MigrationMap model to the app', function() { - expect(app.models.Migration).to.exist; - }); it('should provide a Migration.migrate() method', function() { expect(app.models.Migration).itself.to.respondTo('migrate'); }); From 42c6228f508027ad44430e8d2085763103b44e44 Mon Sep 17 00:00:00 2001 From: Daniel Kappelle Date: Wed, 12 Jun 2019 16:22:40 +0200 Subject: [PATCH 3/4] Actually disable all REST --- lib/index.js | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/lib/index.js b/lib/index.js index 12760db..16ed05f 100644 --- a/lib/index.js +++ b/lib/index.js @@ -60,18 +60,8 @@ module.exports = function(app, options) { var Migration = require('./models/migration')(MigrationModel, options); var MigrationMap = require('./models/migration-map')(MigrationMapModel, options); - app.model(Migration); + app.model(Migration, { + public: !!options.enableRest + }); app.model(MigrationMap); - - if (!options.enableRest) { - if (Migration.disableRemoteMethodByName) { - // Loopback 3.x+ - Migration.disableRemoteMethodByName('migrateTo'); - Migration.disableRemoteMethodByName('rollbackTo'); - } else { - // Loopback 2.x - Migration.disableRemoteMethod('migrateTo', true); - Migration.disableRemoteMethod('rollbackTo', true); - } - } }; From 9e8730b8bbc377ed90540111c3ee56fde0106efe Mon Sep 17 00:00:00 2001 From: Daniel Kappelle Date: Wed, 14 Aug 2019 13:32:09 +0200 Subject: [PATCH 4/4] fix: fix warning by adding datasource --- lib/index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/index.js b/lib/index.js index 696629f..1287ff4 100644 --- a/lib/index.js +++ b/lib/index.js @@ -52,6 +52,7 @@ module.exports = function(app, options) { var Migration = require('./models/migration')(MigrationModel, options); app.model(Migration, { - public: !!options.enableRest + public: !!options.enableRest, + dataSource: dataSource }); };