- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
在升 sails 期间,我还没有我的数据库的所有连接信息。
有没有办法让配置值依赖于 promises 或在 sail lift 完成后动态创建连接?
如果模型尚不可用,我显然必须添加策略或 Hook 来处理对需要该模型的路由的请求,但在这一点上,我什至不知道如何让风 sails 升起,直到我已经知道连接信息(它必须在配置中)。
我希望我缺少一种动态创建连接并将模型连接到它们的方法。
最佳答案
Update: In Sails v1.0 / Waterline v0.13, this can be accomplished by accessing the stateless, underlying driver; e.g.
sails.getDatastore().driver
. This can be used in any database adapter that supports the new stateless driver interface, including MySQL, PostgreSQL, and MongoDB.
在 Sails v1.0 之前,Sails 或 Waterline 不直接官方支持它,但根据您的用例,有几个很好的解决方案。如果您的用例是出于开发目的的少量动态连接(例如在自动重新加载插件中),并且您愿意生活在边缘,您可以利用私有(private) API 作为即时解决方法: sails.hook.orm.reload()
.但是,您绝对不想在生产中使用它,因为它确实会刷新整个 ORM。
如果您要在运行的 Node 进程的生命周期内处理大量(比方说 > 10 个独特的配置)运行时动态数据存储配置,那就另当别论了。在这种情况下,我建议使用相关的原始驱动程序(例如 https://github.com/felixge/node-mysql )直接通过 service 从池中召唤/释放这些动态连接。 .您仍然可以在您的应用程序中使用您的普通模型进行静态连接——您最好在您的服务中单独实现动态数据库连接。例如,如果您正在构建 phpMyAdmin 的托管版本,您可能会使用较低级别的 NPM 包来动态获取有关用户表的信息,但您仍然可能希望拥有 Account
和 数据库
引用存储在您自己的数据库中的表/集合的模型。
一个更加集成的 Sails 解决方案正在开发中。这种利用原始连接生命周期并从用户空间访问它的能力是内置事务支持的先决条件,这是我们预计在 2016 年下半年某个时间登陆 Sails/Waterline 的功能。与此同时,如果你封装了你的逻辑以通过上面建议的服务方法调用/释放连接,你现在有一个可行的解决方案,你的业务逻辑应该或多或少是 future 的证明(当你升级时,你只需要换掉在您的服务中实现)。希望对您有所帮助!
关于node.js - sails.js - 我想在升 sails 后动态添加数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29454176/
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 4 年前。 Improve t
有什么方法可以根据系统区域设置确定哪个 UnitType 是系统默认设置? 我有一个 UITextField,用户可以在其中输入一定量的水。我想知道输入的单位是升还是加仑,这样我就可以设置正确的 Me
在“大小”列中,我的重量为 100mL、0.5mg、1L、2500cm2。我需要根据毫升、毫克、克、升、厘米等对其进行排序。请给我解决方案,我已经尝试过字符串比较,但它不值得,因为我们必须考虑重量。
我是一名优秀的程序员,十分优秀!