问题标签 [sails-postgresql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 将sails.js 与现有的postgres 数据库一起使用
我正在考虑将Sails用于我们正在开发的应用程序。
我正在使用使用水线 orm 的sails-postgresql 适配器。
我有一个想要连接的现有数据库。
如果我使用创建模型generate something
然后在我的模型中
something
如果我浏览到 localhost/something,orm 会删除表中除标题之外的所有列。
有没有办法阻止它这样做?此应用不应删除此数据库中的列。
谢谢!
asynchronous - findOrCreate 创建重复项
我正在使用oracle 适配器,async.each
并将findOrCreate
一些数据从 oracle 传输到我的 postgres db:
我的 sql 查询返回多个,而不是唯一的值not_id_field
。但我希望它在我的 postgres 数据库中是独一无二的。我认为finOrCreate
使用起来很棒。但它不知何故找不到记录。
我错了吗?或者也许我错过了什么?sails.js
文档并没有真正的帮助:(
postgresql - sails.js 无法解除sails 0.9.9 版和sails-postgresql 0.9.7 版
我无法使用 postgresql 版本 0.9.7 提升帆 0.9.9 版本
这是我收到的错误消息
调试:降低帆...
早些时候运行良好。不知道出了什么问题。我试过删除node_modules
目录并做了一个npm install
之后,npm cache clear
但仍然不断收到这个错误。我无法升级到 Sails 0.10 版,因为它是一个相当大的项目,升级将是一个非常大的努力。如何在同一版本中解决此问题?任何帮助将不胜感激。
node.js - Sails.js 关联:一对多关联的“多”端不保存到 MongoDB 或 Postgres(与磁盘数据库相比)
这适用于sails-disk 适配器,但不适用于sails-mongo 或sails-postgresql。
我有 2 个模型,Feed 和 Event,其中 Feed 可以属于许多事件。
当我创建或保存与一个或多个事件关联的新 Feed 记录时(通过“posts”属性),“posts”属性不会被保存。但是,当我创建或保存与一个 Feed 关联的新事件时(通过“已发布”属性),“已发布”属性会正确保存。问题:我无法从 Feed 端查询 Feed 及其事件(使用 Sails .populate
),只能从 Event 端查询。
我可以确认传递给的数据Feed.create
包含“posts”属性,然后回调的响应不包含。
这是我的模型的样子:
Feed.js:
事件.js:
最后,这是我的 config/models.js 和 config/connections.js 的样子:
连接:{
postgresql - 帆/水线模型属性未反映在表中
我正在尝试使用 Waterline ORM &sails.js 为 postgresql 数据库创建模型。我有一个这样定义的模型。
在数据库中创建了模型对应的表,但除了默认生成的 id、createdAt 和 updatedAt 列之外,没有其他列被反映。
当我的配置指向 localdiskdb 时,这似乎工作正常。当我将端点更改为在 AWS 上运行的 postgres 实例时,就会发生这种情况。
有任何想法吗 ?
更新:我能够解决这个问题。我没有延长吃水线,而是使用了传统的帆模型格式。
node.js - Sails.js 多对多关联在创建和填充时抛出错误
当我尝试使用多对多关联将一个集合与另一个集合关联时,我收到以下错误:
使用sails-mongo:
TypeError: Cannot read property 'where' of undefined
at _afterFetchingJunctorRecords (/Users/grant/Sites/sails/test/node_modules/sails-mongo/node_modules/waterline-cursor/cursor/populateBuffers.js:131:35)
at /Users/grant/Sites/sails/test/node_modules/sails-mongo/lib/collection.js:103:5
at /Users/grant/Sites/sails/test/node_modules/sails-mongo/node_modules/mongodb/lib/mongodb/cursor.js:172:16
at commandHandler (/Users/grant/Sites/sails/test/node_modules/sails-mongo/node_modules/mongodb/lib/mongodb/cursor.js:720:16)
at /Users/grant/Sites/sails/test/node_modules/sails-mongo/node_modules/mongodb/lib/mongodb/db.js:1874:9
at Server.Base._callHandler (/Users/grant/Sites/sails/test/node_modules/sails-mongo/node_modules/mongodb/lib/mongodb/connection/base.js:453:41)
at /Users/grant/Sites/sails/test/node_modules/sails-mongo/node_modules/mongodb/lib/mongodb/connection/server.js:481:18
at MongoReply.parseBody (/Users/grant/Sites/sails/test/node_modules/sails-mongo/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:68:5)
at null.<anonymous> (/Users/grant/Sites/sails/test/node_modules/sails-mongo/node_modules/mongodb/lib/mongodb/connection/server.js:439:20)
at emit (events.js:95:17)
使用sails-postgresql:
TypeError: Cannot convert null to object
at hasOwnProperty (native)
at utils.object.hasOwnProperty (/Users/grant/Sites/sails/test/node_modules/sails-postgresql/node_modules/waterline-sequel/sequel/lib/utils.js:28:14)
at /Users/grant/Sites/sails/test/node_modules/sails-postgresql/node_modules/waterline-sequel/sequel/where.js:261:11
at Array.forEach (native)
at WhereBuilder.complex (/Users/grant/Sites/sails/test/node_modules/sails-postgresql/node_modules/waterline-sequel/sequel/where.js:178:36)
at complexWhere (/Users/grant/Sites/sails/test/node_modules/sails-postgresql/node_modules/waterline-sequel/sequel/index.js:245:16)
at find (/Users/grant/Sites/sails/test/node_modules/sails-postgresql/node_modules/waterline-sequel/sequel/index.js:85:23)
at Cursor.populateBuffers [as $populateBuffers] (/Users/grant/Sites/sails/test/node_modules/sails-postgresql/lib/adapter.js:547:31)
at Cursor.run (/Users/grant/Sites/sails/test/node_modules/sails-postgresql/node_modules/waterline-cursor/cursor/cursor.js:45:8)
at runJoins (/Users/grant/Sites/sails/test/node_modules/sails-postgresql/node_modules/waterline-cursor/index.js:51:10)
测试项目
我创建了一个示例 Sails 应用程序来演示该问题并允许其他人测试/调试:https ://github.com/gnestor/sails-assoications-issue
重现:
尝试使用关联创建新记录(我尝试使用 Sails 控制台、Blueprints API 和控制器内部):
Event.create({source: 'http://domain.com/event/1', posted_by: {source: 'http://domain.com/feed/1'}}).exec(console.log)
Event.create({source: 'http://domain.com/event/3', venue: {source: 'http://domain.com/feed/2'}}).exec(console.log)
Event.create({source: 'http://domain.com/event/2', reposted_by: [{source: 'http://domain.com/feed/2'}, {source: 'http://domain.com/feed/4'}]}).exec(console.log)
结果
您会注意到前两个有效(一对多关联),但第三个无效(多对多关联)。我已经通过多种方式对此进行了测试(使用 Sails 控制台、Blueprints API 和内部控制器)。
值得注意的是,它确实适用于sails-disk,但不适用于sails-mongo、sails-postgresql 或sails-mysql,所以我可能做错了什么......
Sails-mongo 上的问题链接:https ://github.com/balderdashy/sails-mongo/issues/227sails-postgresql 上的问题链接: https : //github.com/balderdashy/sails-postgresql/issues/130
node.js - Sails JS 在 Routes JS 中配置的路由返回 Not Found
我正在使用 Sails JS、PostgreSQL 堆栈。
我想在 url 的末尾传递两个 id 作为参数,如下所示:
/getLocation/cc/re
其中“cc”是两个字母的国家/地区代码,例如 US,“re”是对“cc”中提到的国家/地区的自动完成查询
虽然仅使用 cc 有效,但添加额外参数会导致“未找到”页面。
这是“配置/路线”:
指点说:
'本地主机/位置/getRegion/我们/或'
结果是404。
尽管:
'本地主机/位置/getRegion/我们'
有效,但显然这会输出美国的所有地区/州。第二个参数应该使用“包含”进一步过滤此结果
关于如何使用这两个参数达到预期结果的任何想法?
这里是
获取区域
我的代码
位置控制器
sails.js - sailsjs:如何将现有数据库逆向工程为sails/waterline 模型?
我是 SailsJS 菜鸟。
我有一个现有的数据库(postgres),我想将其转换为 SailsJS/Waterline 的模型。是否有像 LoopBack 中的 datasource.discoverSchema() 方法那样自动执行此操作的方法/工具/实用程序?
谢谢,
马克
postgresql - 事务上下文中postgres日志中“执行”和“语句”之间的区别
如here所述,我收到“警告:没有正在进行的交易”错误。当我检查日志时,我看到如果我使用它的 Model.query 方法,我的风帆水线 ORM 会导致“语句”字出现在日志上,并且“执行”字出现在通过其模型方法发出的查询前面比如 .insert、.update 等。它们在事务中的行为方式有什么区别吗?或者,日志中的“语句”和“执行”有什么区别?
mysql - Sails 应用程序连接到 MySql / PgSql 错误
在我的 Sails 应用程序中,我在 Mocha/Chai/Supertest 中有一些针对sails-disk 数据库运行的集成测试,直到今天。今天我尝试切换到实际的数据库,以测试我的模型的性能和行为以及可靠性。安装 Mongo,运行测试,一切正常。
但是,在我在本地安装了 MySql 和 PgSql 以及两个数据库套件的sails 适配器后,我在对这两个数据库运行测试时遇到了问题。当我发现类似的行为时,我选择在同一个线程中详细说明它们。
PgSql:一半的测试通过,那些不通过的最初不会抛出任何特定的错误。但是,当我调试它们时,我发现它们会抛出“套接字挂断”错误。
MySql:在这里,如果我运行测试,它们都失败了,如果我逐步调试它们,它们就会通过。请注意,没有一个测试具有奇怪的异步行为,这可以解释为什么它们可以在调试时通过(应用程序在断点之间有时间执行“预期”的东西),它们非常简单明了。
到目前为止还没有找到解决方案或解释。我正在开发 Windwos 7 X64 操作系统。
更新:在进一步检查中,似乎一些测试由于超时错误而失败(由于某种原因没有显示为超时错误)。在将 mocha 超时设置得更高一点后,现在有更多的测试通过了,这有点奇怪,因为在 mongo 上,任何测试套件的运行时间都不到一秒。关于在此扩展超时设置上仍然失败的那些测试,在调试期间似乎永远无法到达控制器。我正在使用 supertest 来触发请求,经过一些修改,现在看起来像这样:
出于某种原因,在 .end 函数内部永远不会调用回调。还在研究这个。