问题标签 [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.

0 投票
1 回答
6807 浏览

node.js - 将sails.js 与现有的postgres 数据库一起使用

我正在考虑将Sails用于我们正在开发的应用程序。

我正在使用使用水线 orm 的sails-postgresql 适配器。

我有一个想要连接的现有数据库。

如果我使用创建模型generate something

然后在我的模型中

something如果我浏览到 localhost/something,orm 会删除表中除标题之外的所有列。

有没有办法阻止它这样做?此应用不应删除此数据库中的列。

谢谢!

0 投票
1 回答
690 浏览

asynchronous - findOrCreate 创建重复项

我正在使用oracle 适配器async.each并将findOrCreate一些数据从 oracle 传输到我的 postgres db:

我的 sql 查询返回多个,而不是唯一的值not_id_field。但我希望它在我的 postgres 数据库中是独一无二的。我认为finOrCreate使用起来很棒。但它不知何故找不到记录。

我错了吗?或者也许我错过了什么?sails.js文档并没有真正的帮助:(

0 投票
1 回答
159 浏览

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 版,因为它是一个相当大的项目,升级将是一个非常大的努力。如何在同一版本中解决此问题?任何帮助将不胜感激。

0 投票
1 回答
766 浏览

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 的样子:

连接:{

0 投票
0 回答
442 浏览

postgresql - 帆/水线模型属性未反映在表中

我正在尝试使用 Waterline ORM &sails.js 为 postgresql 数据库创建模型。我有一个这样定义的模型。

在数据库中创建了模型对应的表,但除了默认生成的 id、createdAt 和 updatedAt 列之外,没有其他列被反映。

当我的配置指向 localdiskdb 时,这似乎工作正常。当我将端点更改为在 AWS 上运行的 postgres 实例时,就会发生这种情况。

有任何想法吗 ?

更新:我能够解决这个问题。我没有延长吃水线,而是使用了传统的帆模型格式。

0 投票
0 回答
567 浏览

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

0 投票
1 回答
852 浏览

node.js - Sails JS 在 Routes JS 中配置的路由返回 Not Found

我正在使用 Sails JS、PostgreSQL 堆栈。

我想在 url 的末尾传递两个 id 作为参数,如下所示:

/getLocation/cc/re

其中“cc”是两个字母的国家/地区代码,例如 US,“re”是对“cc”中提到的国家/地区的自动完成查询

虽然仅使用 cc 有效,但添加额外参数会导致“未找到”页面。

这是“配置/路线”:

指点说:

'本地主机/位置/getRegion/我们/或'

结果是404。

尽管:

'本地主机/位置/getRegion/我们'

有效,但显然这会输出美国的所有地区/州。第二个参数应该使用“包含”进一步过滤此结果

关于如何使用这两个参数达到预期结果的任何想法?

这里是

获取区域

我的代码

位置控制器

0 投票
2 回答
500 浏览

sails.js - sailsjs:如何将现有数据库逆向工程为sails/waterline 模型?

我是 SailsJS 菜鸟。
我有一个现有的数据库(postgres),我想将其转换为 SailsJS/Waterline 的模型。是否有像 LoopBack 中的 datasource.discoverSchema() 方法那样自动执行此操作的方法/工具/实用程序?

谢谢,
马克

0 投票
1 回答
794 浏览

postgresql - 事务上下文中postgres日志中“执行”和“语句”之间的区别

如here所述,我收到“警告:没有正在进行的交易”错误。当我检查日志时,我看到如果我使用它的 Model.query 方法,我的风帆水线 ORM 会导致“语句”字出现在日志上,并且“执行”字出现在通过其模型方法发出的查询前面比如 .insert、.update 等。它们在事务中的行为方式有什么区别吗?或者,日志中的“语句”和“执行”有什么区别?

0 投票
0 回答
73 浏览

mysql - Sails 应用程序连接到 MySql / PgSql 错误

在我的 Sails 应用程序中,我在 Mocha/Chai/Supertest 中有一些针对sails-disk 数据库运行的集成测试,直到今天。今天我尝试切换到实际的数据库,以测试我的模型的性能和行为以及可靠性。安装 Mongo,运行测试,一切正常。

但是,在我在本地安装了 MySql 和 PgSql 以及两个数据库套件的sails 适配器后,我在对这两个数据库运行测试时遇到了问题。当我发现类似的行为时,我选择在同一个线程中详细说明它们。

PgSql:一半的测试通过,那些不通过的最初不会抛出任何特定的错误。但是,当我调试它们时,我发现它们会抛出“套接字挂断”错误。

MySql:在这里,如果我运行测试,它们都失败了,如果我逐步调试它们,它们就会通过。请注意,没有一个测试具有奇怪的异步行为,这可以解释为什么它们可以在调试时通过(应用程序在断点之间有时间执行“预期”的东西),它们非常简单明了。

到目前为止还没有找到解决方案或解释。我正在开发 Windwos 7 X64 操作系统。

更新:在进一步检查中,似乎一些测试由于超时错误而失败(由于某种原因没有显示为超时错误)。在将 mocha 超时设置得更高一点后,现在有更多的测试通过了,这有点奇怪,因为在 mongo 上,任何测试套件的运行时间都不到一秒。关于在此扩展超时设置上仍然失败的那些测试,在调试期间似乎永远无法到达控制器。我正在使用 supertest 来触发请求,经过一些修改,现在看起来像这样:

出于某种原因,在 .end 函数内部永远不会调用回调。还在研究这个。