Sails.js 使用水线定向数据库生成模式

Sails.js 使用水线定向数据库生成模式,sails.js,orientdb,waterline,sails-orientdb,Sails.js,Orientdb,Waterline,Sails Orientdb,在我之前入侵过的许多Waterline数据库中,您可以使用Waterline/Sails指定的“通用”语法创建Waterline/Sails模型,一切正常。当我开始使用OrientDB和Waterline OrientDB时,似乎存在一个问题,即我必须在OrientDB中定义完整的模式,然后才能持久化任何内容。这是使用Waterline OrientDB的一个要求,还是我的OrientDB设置有一些配置不正确的地方,这迫使首先定义模式 如果需要创建,应如何在OrientDB数据库和SailsJS

在我之前入侵过的许多Waterline数据库中,您可以使用Waterline/Sails指定的“通用”语法创建Waterline/Sails模型,一切正常。当我开始使用OrientDB和Waterline OrientDB时,似乎存在一个问题,即我必须在OrientDB中定义完整的模式,然后才能持久化任何内容。这是使用Waterline OrientDB的一个要求,还是我的OrientDB设置有一些配置不正确的地方,这迫使首先定义模式


如果需要创建,应如何在OrientDB数据库和SailsJS中建模边缘,以确保Sails/Waterline ORM能够正确持久。我认为它“只会起作用”,但在整个waterline-OrientedDB文档中,都提到了创建边之类的调用。这似乎是文档中的一个关键特性—您必须定义什么,不定义SailsJS模型对象又能得到什么。

没有提供水线模型定义或配置,因此很难确定确切的问题是什么。一个可能的原因是配置中将
migrate
设置为
'safe'
。waterline orientdb遵循,因此它仅在
migrate:'drop'
migrate:'alter'
(waterline认为这是实验性的)或
migrate:'create'
(在waterline主分支中,尚未发布)时创建类。有关在上设置迁移选项的详细信息

关于第二段,水线定向DB 100%符合水线规范,水线适配器通过所有测试()。边建模为法线水线。WaterlineOrientDB文档遵循其他适配器的示例,因为它主要记录WaterlineOrientDB特有的内容,即所做的扩展。换句话说,WaterlineOrientDB可以像任何其他适配器一样使用,这些扩展只是为了帮助实现特定的orientdb操作


如果这不能解决您的问题,请告诉我,并随时提供示例,我将研究它们。

我认为最好向设计sails orientdb适配器的人员询问这一问题。我对orientdb一无所知。嗨@Travis,我相信@Guardius指的是“水线orientdb”适配器,而不是“帆船orientdb”适配器。我的理解是,由于
migrate
选项,没有创建模式。我已经在下面给出了完整的答案。这就是问题所在。迁移被强制到“安全”状态,这会阻止系统正常工作。在尝试将其设置为“alter”时,我确实遇到了一系列错误,但这很好,因为我真的希望在开发时使用“drop”或在生产时使用“safe”。很高兴听到这样的消息,问题得到了解决。请随时报告网站上的任何问题,我会在有机会时查看它们。当做