moleculer-db-adapter-sequelize
Advanced tools
Comparing version 0.2.5 to 0.2.6
@@ -0,1 +1,8 @@ | ||
<a name="0.2.3"></a> | ||
# 0.2.3 (2020-03-21) | ||
## Changes | ||
- add `noSync` parameter. [#163](https://github.com/moleculerjs/moleculer-db/pull/163) | ||
-------------------------------------------------- | ||
<a name="0.2.2"></a> | ||
@@ -2,0 +9,0 @@ # 0.2.2 (2020-02-02) |
{ | ||
"name": "moleculer-db-adapter-sequelize", | ||
"version": "0.2.5", | ||
"version": "0.2.6", | ||
"description": "SQL adapter (Postgres, MySQL, SQLite & MSSQL) for Moleculer DB service", | ||
@@ -43,3 +43,3 @@ "main": "index.js", | ||
"nodemon": "^1.19.3", | ||
"npm-check": "^5.9.0", | ||
"npm-check": "^5.9.2", | ||
"pg": "^7.12.1", | ||
@@ -64,3 +64,3 @@ "pg-hstore": "^2.3.3", | ||
}, | ||
"gitHead": "d036e24ae38327af77edbaa7a3b836d2505a5e7a" | ||
"gitHead": "34d32375e0955ee4aba96c77843d7324e131a4c0" | ||
} |
@@ -63,2 +63,10 @@ /* | ||
let modelDefinitionOrInstance = this.service.schema.model; | ||
let noSync = false; | ||
if (this.opts[3]) { | ||
noSync = !!this.opts[3].noSync; | ||
} else if (this.opts[0].dialect === "sqlite") { | ||
noSync = !!this.opts[0].noSync; | ||
} | ||
let modelReadyPromise; | ||
@@ -73,3 +81,3 @@ let isModelInstance = modelDefinitionOrInstance | ||
this.model = this.db.define(modelDefinitionOrInstance.name, modelDefinitionOrInstance.define, modelDefinitionOrInstance.options); | ||
modelReadyPromise = this.model.sync(); | ||
modelReadyPromise = noSync ? Promise.resolve(this.model) : this.model.sync(); | ||
} | ||
@@ -76,0 +84,0 @@ this.service.model = this.model; |
"use strict"; | ||
const {ServiceBroker} = require("moleculer"); | ||
const { ServiceBroker } = require("moleculer"); | ||
@@ -32,3 +32,3 @@ jest.mock("sequelize"); | ||
function protectReject (err) { | ||
function protectReject(err) { | ||
if (err && err.stack) { | ||
@@ -67,2 +67,3 @@ console.error(err); | ||
db.define.mockClear(); | ||
model.sync.mockClear(); | ||
}); | ||
@@ -76,3 +77,3 @@ | ||
const broker = new ServiceBroker({logger: false}); | ||
const broker = new ServiceBroker({ logger: false }); | ||
const service = broker.createService({ | ||
@@ -161,5 +162,5 @@ name: "store", | ||
let query = {}; | ||
adapter.createCursor({query}); | ||
adapter.createCursor({ query }); | ||
expect(adapter.model.findAll).toHaveBeenCalledTimes(1); | ||
expect(adapter.model.findAll).toHaveBeenCalledWith({where: query}); | ||
expect(adapter.model.findAll).toHaveBeenCalledWith({ where: query }); | ||
}); | ||
@@ -170,5 +171,5 @@ | ||
let query = {}; | ||
adapter.createCursor({query}, true); | ||
adapter.createCursor({ query }, true); | ||
expect(adapter.model.count).toHaveBeenCalledTimes(1); | ||
expect(adapter.model.count).toHaveBeenCalledWith({where: query}); | ||
expect(adapter.model.count).toHaveBeenCalledWith({ where: query }); | ||
}); | ||
@@ -179,3 +180,3 @@ | ||
let query = {}; | ||
adapter.createCursor({query, sort: "-votes title"}); | ||
adapter.createCursor({ query, sort: "-votes title" }); | ||
expect(adapter.model.findAll).toHaveBeenCalledTimes(1); | ||
@@ -191,3 +192,3 @@ expect(adapter.model.findAll).toHaveBeenCalledWith({ | ||
let query = {}; | ||
adapter.createCursor({query, sort: ["createdAt", "title"]}); | ||
adapter.createCursor({ query, sort: ["createdAt", "title"] }); | ||
expect(adapter.model.findAll).toHaveBeenCalledTimes(1); | ||
@@ -203,3 +204,3 @@ expect(adapter.model.findAll).toHaveBeenCalledWith({ | ||
let query = {}; | ||
adapter.createCursor({query, sort: {createdAt: 1, title: -1}}); | ||
adapter.createCursor({ query, sort: { createdAt: 1, title: -1 } }); | ||
expect(adapter.model.findAll).toHaveBeenCalledTimes(1); | ||
@@ -214,3 +215,3 @@ expect(adapter.model.findAll).toHaveBeenCalledWith({ | ||
adapter.model.findAll.mockClear(); | ||
adapter.createCursor({limit: 5, offset: 10}); | ||
adapter.createCursor({ limit: 5, offset: 10 }); | ||
expect(adapter.model.findAll).toHaveBeenCalledTimes(1); | ||
@@ -226,3 +227,3 @@ expect(adapter.model.findAll).toHaveBeenCalledWith({ | ||
adapter.model.findAll.mockClear(); | ||
adapter.createCursor({search: "walter", searchFields: ["title", "content"]}); | ||
adapter.createCursor({ search: "walter", searchFields: ["title", "content"] }); | ||
expect(adapter.model.findAll).toHaveBeenCalledTimes(1); | ||
@@ -262,3 +263,3 @@ expect(adapter.model.findAll).toHaveBeenCalledWith({ | ||
adapter.model.findOne.mockClear(); | ||
let age = {age: 25}; | ||
let age = { age: 25 }; | ||
@@ -285,3 +286,3 @@ return adapter.findOne(age).catch(protectReject).then(() => { | ||
expect(adapter.model.findAll).toHaveBeenCalledTimes(1); | ||
expect(adapter.model.findAll).toHaveBeenCalledWith({"where": {"id": {[Op.in]: [5]}}}); | ||
expect(adapter.model.findAll).toHaveBeenCalledWith({ "where": { "id": { [Op.in]: [5] } } }); | ||
}); | ||
@@ -310,3 +311,3 @@ }); | ||
adapter.model.create.mockClear(); | ||
let entities = [{name: "John"}, {name: "Jane"}]; | ||
let entities = [{ name: "John" }, { name: "Jane" }]; | ||
@@ -326,3 +327,3 @@ return adapter.insertMany(entities).catch(protectReject).then(() => { | ||
expect(adapter.model.update).toHaveBeenCalledTimes(1); | ||
expect(adapter.model.update).toHaveBeenCalledWith(update, {where}); | ||
expect(adapter.model.update).toHaveBeenCalledWith(update, { where }); | ||
}); | ||
@@ -338,3 +339,3 @@ }); | ||
let update = { | ||
$set: {title: "Test"} | ||
$set: { title: "Test" } | ||
}; | ||
@@ -355,3 +356,3 @@ return adapter.updateById(5, update).catch(protectReject).then(() => { | ||
expect(adapter.model.destroy).toHaveBeenCalledTimes(1); | ||
expect(adapter.model.destroy).toHaveBeenCalledWith({where}); | ||
expect(adapter.model.destroy).toHaveBeenCalledWith({ where }); | ||
}); | ||
@@ -379,3 +380,3 @@ }); | ||
expect(adapter.model.destroy).toHaveBeenCalledTimes(1); | ||
expect(adapter.model.destroy).toHaveBeenCalledWith({where: {}}); | ||
expect(adapter.model.destroy).toHaveBeenCalledWith({ where: {} }); | ||
}); | ||
@@ -390,3 +391,3 @@ }); | ||
expect(doc.get).toHaveBeenCalledTimes(1); | ||
expect(doc.get).toHaveBeenCalledWith({plain: true}); | ||
expect(doc.get).toHaveBeenCalledWith({ plain: true }); | ||
}); | ||
@@ -422,3 +423,3 @@ | ||
const broker = new ServiceBroker({logger: false}); | ||
const broker = new ServiceBroker({ logger: false }); | ||
const service = broker.createService({ | ||
@@ -451,3 +452,3 @@ name: "store", | ||
const broker = new ServiceBroker({logger: false}); | ||
const broker = new ServiceBroker({ logger: false }); | ||
const service = broker.createService({ | ||
@@ -474,3 +475,33 @@ name: "store", | ||
describe("noSync option set to true", () => { | ||
const opts = { | ||
dialect: "sqlite", | ||
noSync: true | ||
}; | ||
const adapter = new SequelizeAdapter(opts); | ||
const broker = new ServiceBroker({ logger: false }); | ||
const service = broker.createService({ | ||
name: "store", | ||
model: fakeModel | ||
}); | ||
beforeEach(() => { | ||
adapter.init(broker, service); | ||
}); | ||
it("do not sync the model with database", () => { | ||
return adapter.connect().catch(protectReject).then(() => { | ||
expect(Sequelize).toHaveBeenCalledTimes(1); | ||
expect(Sequelize).toHaveBeenCalledWith(opts); | ||
expect(adapter.db).toBe(db); | ||
expect(adapter.db.authenticate).toHaveBeenCalledTimes(1); | ||
expect(adapter.db.define).toHaveBeenCalledTimes(1); | ||
expect(adapter.model).toBe(model); | ||
expect(adapter.service.model).toBe(model); | ||
expect(adapter.model.sync).toHaveBeenCalledTimes(0); | ||
}); | ||
}); | ||
}); | ||
}); | ||
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
39028
1100