Tag: sequelize.js

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中使用的最佳实践? 谢谢

Sequelize.js中的前缀支持

使用Sequelize.js时,有什么方法可以支持前缀表名? 想象一下,我想build立一个博客平台,以便每个注册用户可以得到他自己的博客和URL(子域)。 现在,如果打开userxxx.mydomain.com他应该从名为userxxx_TABLENAME表中获取内容,同时打开difuser.mydomain.com将从difuser_TABLENAME获取数据等。 我尝试添加前缀到模型名称,例如: sequelize.define('userxxx_Post' …) ,它可以工作,但在多对多关系(表名成为userxxx_Postuserxxx_Comment )时创build混乱。 有没有更好的办法? (我并不是完全在node.js上构build博客平台,但解决这个问题的方法是一样的)

节点的Sequelize不允许在主键上自动生成UUID *除非*字段名称是'id'

这个Sequelize提交似乎证实命名主键'id'使其变得特别。 并根据我的testing以下代码片段,将字段名更改为'ID'以外的东西就足够了没有默认值被设置,因此,插入失败。 id: { type: DataTypes.UUID, primaryKey: true, defaultValue: DataTypes.UUIDV4, allowNull: false } 那么有没有办法保持命名主键字段的灵活性,并将其默认为UUID?

续集复合外键

我有一个数据库与下表: CREATE TABLE IF NOT EXISTS `app_user` ( `user_id` INT NOT NULL, `user_name` VARCHAR(45) NOT NULL, PRIMARY KEY (`user_id`)) ENGINE = InnoDB; CREATE TABLE IF NOT EXISTS `user_folder` ( `user_id` INT NOT NULL, `document_id` INT NOT NULL, PRIMARY KEY (`user_id`, `document_id`), CONSTRAINT `fk_user_document_user` FOREIGN KEY (`user_id`) REFERENCES `zinc`.`app_user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE) […]

从没有元信息序列化的查询中获取结果集

我是Node.js / Sequelize.js的新手。 我有以下一段代码查询: var agent_list = models.agent.findAll({ subQuery: false, where: qry_filter, attributes: select_attributes, include:include_models, group: ['agent_id'], order: agent_data.sort || appConfig.DEFAULT_AGENT_SORT, limit: agent_data.num_results || appConfig.DEFAULT_RESPONSE_SIZE }) .then(function(agent_list){ console.log(agent_list); }); 语句“console.log(agent_list)”打印从数据库检索的数据加上元信息,如选项:{…},modelOptions:{…}等dataValues对象包含我想要的数据。 结果集是嵌套的js对象,每个对象具有相同的结构,因此循环遍历结果集并仅获取dataValues将非常困难。 我有使用PHP的经验,像这样的$ db – > Execute(“$ qry”)会返回结果集元和获取行$ db – >执行(“$ qry”) – > getRows()可以使用。 如何实现这个续集?

Sequelize-CLI Seeders – 无法读取未定义的属性

我一直在用db:seed:all挣扎db:seed:all的一个多小时,现在慢慢地,我对此失去了信心。 我有一个简单的模型: 'use strict'; module.exports = function (sequelize, DataTypes) { var Car = sequelize.define('Cars', { name: DataTypes.STRING, type: DataTypes.INTEGER, models: DataTypes.INTEGER }, { classMethods: { associate: function (models) { // associations can be defined here } } }); return Car; }; 这是在迁移,并使用sequelize db:migrate到数据库,它工作正常。 接下来,我想插入 – 通过种子文件 – 2辆车。 所以我运行了命令sequelize seed:create –name insertCars并添加了bulkInsert : 'use strict'; […]