Tag: sequelize.js

node-webkit错误:请手动安装sqlite3包

我正在使用node-webkit , Sequelize和sqlite3 。 节点运行的应用程序没有问题,但是当我从node-webkit运行它会引发这个错误 "Uncaught Error: The dialect sqlite is not supported. (Error: Please install sqlite3 package manually)", source: /Users/mariowise/projects/node-webkit/requies-pos/node_modules/sequelize/lib/sequelize.js (176) 这是我的依赖 "dependencies": { "express": "~4.2.0", "static-favicon": "~1.0.0", "morgan": "~1.0.0", "cookie-parser": "~1.0.1", "body-parser": "~1.0.0", "debug": "~0.7.4", "jade": "~1.3.0", "nunjucks": "^1.0.5", "sqlite3": "~2.1.19", "config": "0.4.33", "sequelize": "~2.0.0-rc1", "sequelize-sqlite": "~1.7.0" }

node.js sequelize:多个“where”查询条件

我如何查询具有多个条件的表? 这里是两个工作的例子: Post.findAll({ where: ['deletedAt IS NULL'] }).success() 和 Post.findAll({ where: {topicId: req.params.id} }).success() 那么,如果我需要结合条件,我觉得我需要做类似的事情 Post.findAll({ where: [{topicId: req.params.id}, 'deletedAt IS NULL'] }).success() ,但它不起作用。 什么是续集等待的语法? 节点debugging说: DEBUG:TypeError:Object#没有方法'replace' 如果重要的话

在Sequelize.js中使用dynamicsearch参数

我试图在他们的网站上按照Sequelize教程 。 我已经达到了以下代码行。 Project.findAll({where: ["id > ?", 25]}).success(function(projects) { // projects will be an array of Projects having a greater id than 25 }) 如果我稍微调整它如下 Project.findAll({where: ["title like '%awe%'"]}).success(function(projects) { for (var i=0; i<projects.length; i++) { console.log(projects[i].title + " " + projects[i].description); } }); 一切正常。 但是,当我尝试使search参数dynamic如下 Project.findAll({where: ["title like '%?%'", 'awe']}).success(function(projects) { for (var i=0; […]

使用分组和连接

我在PostgreSQL数据库上有两个表,合同和付款。 一份合同有多个付款。 我有以下两个模型: module.exports = function(sequelize, DataTypes) { var contracts = sequelize.define('contracts', { id: { type: DataTypes.INTEGER, autoIncrement: true } }, { createdAt: false, updatedAt: false, classMethods: { associate: function(models) { contracts.hasMany(models.payments, { foreignKey: 'contract_id' }); } } }); return contracts; }; module.exports = function(sequelize, DataTypes) { var payments = sequelize.define('payments', { id: { type: […]

在Sequelize中使用实例方法

有人可以帮我理解如何在Sequelize中使用实例方法吗? 我已经阅读了文档,但发现它是稀疏的。 目前,我正在尝试在我的用户模型上使用setPassword和verifyPassword实例方法。 当我尝试调用REPL中的代码时,在导入用户模型并同步数据库之后,我得到以下结果: > models.User.setPassword('test'); TypeError: Object [object Object] has no method 'setPassword' 以下是用户模型的代码: var bcrypt = require('bcrypt'); module.exports = function(sequelize, DataTypes) { return sequelize.define('User', { email: { type: DataTypes.STRING, unique: true, allowNull: false, validate: { isEmail: true } }, password: { type: DataTypes.STRING, allowNull: false}, firstName: {type: DataTypes.STRING}, lastName: {type: DataTypes.STRING}, companyName: {type: […]

续集如何查找具有多个where子句和时间戳的行NOW>

我如何用Sequelize做到这一点? SELECT FROM sessions WHERE user_id = ? AND token = ? AND expires > NOW() 以下是我正在尝试做的事情(假设Session是一个Sequelize模型): Session.find({ where: { user_id: someNumber, token: someString, //expires > NOW() (how do I do this?) } }).on('success', function (s) { /* things and stuff */ }); 谢谢!

运行testing之前清除testing数据库

在运行testing套件之前清理数据库的最好方法是什么(是否有npm库或推荐的方法)。 我知道before()函数。 我使用节点/快递,摩卡和续集。

没有列'id'的sequelize表

我有一个表如下的sequelize定义: AcademyModule = sequelize.define('academy_module', { academy_id: DataTypes.INTEGER, module_id: DataTypes.INTEGER, module_module_type_id: DataTypes.INTEGER, sort_number: DataTypes.INTEGER, requirements_id: DataTypes.INTEGER }, { freezeTableName: true}); 正如你所看到的,这个表中没有id列。 但是,当我尝试插入它仍然尝试下面的SQL: INSERT INTO `academy_module` (`id`,`academy_id`,`module_id`,`sort_number`) VALUES (DEFAULT,'3',5,1); 我怎样才能禁用它清晰的idfunction?

续集中有多个删除可用吗?

我有一个多个contentIds。 Mode.findAll({ where: { id: contentIds } }) find全部后,如何从表中删除多行。 或者告诉我其他选项,用一个查询删除多个logging。

如何使用sequelize migrations / seeds插入初始数据?

我试图创build我的初始迁移填充testing数据库,但我不能得到它的工作。 这就是我在迁移中所拥有的: 'use strict'; module.exports = { up: function (queryInterface, Sequelize) { return [ queryInterface.bulkInsert('Users', [ { username: "user1" }, { username: "user2" } ])]; }, down: function (queryInterface, Sequelize) { return queryInterface.dropTable('Users'); } }; 我得到这个错误: == 20151024144833-create-conjugation: migrating ======= { [SequelizeUniqueConstraintError: Validation error] name: 'SequelizeUniqueConstraintError', message: 'Validation error', errors: [], fields: [] } 必须有一个更简单的方法来做到这一点。 […]