Articles of sequelize.js

Sequelize:需要vs导入

在sequlize的文档中,他们使用像这样的导入function // in your server file – eg app.js var Project = sequelize.import(__dirname + "/path/to/models/project") // The model definition is done in /path/to/models/project.js // As you might notice, the DataTypes are the very same as explained above module.exports = function(sequelize, DataTypes) { return sequelize.define("Project", { name: DataTypes.STRING, description: DataTypes.TEXT }) } 但是,这会有什么问题呢? // in your […]

Sequelize在何处声明与date

我使用sequelize作为我的后端ORM。 现在我想在date上做一些操作。 更多Spenceficly我想获取所有的数据,从现在起7天前。 问题是该文档不指定您可以在Datatypes.DATE执行哪些操作 任何人都可以指向正确的方向吗?

一个迁移文件中有多个迁移语句

我试图在一个迁移文件中执行多个迁移语句,以便一次性更改同一个表的多个列。 我想知道我是否以写作的方式去做,还是有更好更合适的方法去做: 迁移代码 module.exports = { up: function(queryInterface, Sequelize, done) { queryInterface.changeColumn('users', 'name', { type: Sequelize.STRING, allowNull: false, require: true, unique: true }).success(function() { queryInterface.changeColumn('users', 'address', { type: Sequelize.STRING, allowNull: false, require: true, unique: true }).success(function() { queryInterface.changeColumn('users', 'city', { type: Sequelize.STRING, allowNull: false, require: true, unique: true }).success(function() { queryInterface.changeColumn('users', 'state', { type: Sequelize.STRING, […]

Sequelize:按列更新它的旧值

我正在尝试更新一组数据使用Sequelize由此查询 Users.update({ flag: 'flag & ~ 2' } , { where : { id :{ gt : 2 } } }) 生成的查询是 UPDATE `users` SET `flag`='flag & ~ 2' WHERE id > 2 但应该是 UPDATE `users` SET `flag`=flag & ~ 2 WHERE id > 2 所以我的问题是如何更新数据的旧值 问候

在MySQL中使用sequelize自动递增id

我在NodeJS中有以下模型和sequelize和一个MySQL数据库: var Sequelize = require('sequelize'); var User = sequelize.define('user', { id: { type: Sequelize.INTEGER, autoIncrement: true, primaryKey: true }, … }; 我想用下面的代码添加一个新的用户到我的数据库: sequelize.transaction().then(function(t) { User.create({/* User data without id */}, { transaction: t }).then(function() { t.commit(); }).catch(function(error) { t.rollback(); }); }); 之后,我得到了下一个错误: Executing (47f19f7b-a02d-4d72-ba7e-d5045520fffb): START TRANSACTION; Executing (47f19f7b-a02d-4d72-ba7e-d5045520fffb): SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; […]

Sequelize对象不是一个函数

我正在从这个回购工作,并试图将其转换到PostgreSQL这里是我的错误: /home/otis/Developer/Shipwrecked/Hatchway/node_modules/sequelize/lib/sequelize.js:601 this.importCache[path] = defineCall(this, DataTypes); ^ TypeError: object is not a function at Sequelize.import (/home/otis/Developer/Shipwrecked/Hatchway/node_modules/sequelize/lib/sequelize.js:601:30) at db.sequelize (/home/otis/Developer/Shipwrecked/Hatchway/models/index.js:15:37) at Array.forEach (native) at Object.<anonymous> (/home/otis/Developer/Shipwrecked/Hatchway/models/index.js:14:6) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (/home/otis/Developer/Shipwrecked/Hatchway/app.js:10:12) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) […]

sequelize bulkCreate()返回主键的NULL值

我正在使用节点编写rest,作为ORM for mySQL的后缀。 我正在使用bulkCreate函数来批量创buildlogging。 但是作为响应,它为主键值返回null 。 模型 sequelize.define('category', { cat_id:{ type:DataTypes.INTEGER, field:'cat_id', primaryKey: true, autoIncrement: true, unique:true }, cat_name:{ type: DataTypes.STRING, field: 'cat_name', defaultValue:null } }); 批量创build操作: var data = [ { 'cat_name':'fashion' }, { 'cat_name':'food' } ]; orm.models.category.bulkCreate(data) .then(function(response){ res.json(response); }) .catch(function(error){ res.json(error); }) 回应: [ { "cat_id": null, "cat_name": "fashion", "created_at": "2016-01-29T07:39:50.000Z", "updated_at": […]

Nodejs会如何截断如何截断外键引用的表

我有一个“myTable”mysql表,其中myTable.id由另一个表上的外键引用。 我需要截断“myTable”。 通常与MySQL的壳我会做: mysql> SET FOREIGN_KEY_CHECKS = 0; truncate table myTable; SET FOREIGN_KEY_CHECKS = 1; 有没有什么办法做这个sequelize? 我试图执行 sequelize.query('SET FOREIGN_KEY_CHECKS = 0; truncate table myTable; SET FOREIGN_KEY_CHECKS = 1;') 但我有错误: `Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use […]

如何在Sequelize中以JSON的forms返回数据

当我做一个Sequelize查询它返回给我一个对象(或数组),我猜是一个Sequelize模型(或模型数组(集合types??)),但没有logging任何地方,所以我只是猜测。 我总是喜欢结果是JSON。 有什么我可以通过查询来强制这个? 如果可能的话,我宁愿不手动按摩每一个结果我回到JSON。 文档显示这个返回一个string: console.log(JSON.stringify(users)) 所以有一些内置的序列化。 现在我正在使用未toJSON()方法执行此操作: query().then(function(result) { if(result.length) { return result.toJSON(); } else { return result.map(function(item) { return item.toJSON(); }); } }); 这很麻烦。

在heroku中join迁移

有人可以给我一些完整的nodejs迁移的例子,因为实际的文档本身并没有给出完整的例子。 或者可以给出一个可以使用的其他模块的完整示例,以及如何在heroku中使用的最佳实践? 谢谢