在 Sails.js 中处理数据库环境配置
Handling database environment configuration in Sails.js
我遇到的问题与官方文档中的以下引用有关:
注意 如果模型使用与适配器的任何连接,则与该适配器的所有连接都将加载到 sails.lift 上,无论模型是否实际使用它们。在上面的示例中,如果模型配置为使用 localMysql 连接,则 localMysql 和 remoteMysql 都将在运行时尝试连接。因此,最好按环境拆分连接配置,并将它们保存到适当的特定于环境的配置文件中,或者注释掉不希望处于活动状态的任何连接。
如何为生产服务器配置连接?
我的连接.js文件如下所示:
module.exports.connections = {
mongoDev: {
adapter: 'sails-mongo',
host: 'localhost',
port: 27017,
user: 'username',
password: 'password',
database: 'database'
},
mongoLive: {
adapter: 'sails-mongo',
host: 'host.mongolab.com',
port: 31681,
user: 'user',
password: 'password',
database: 'database'
}
};
在我的环境配置文件中,我得到了:
发展.js
module.exports = {
models: {
connection: 'mongoDev'
}
};
生产.js
module.exports = {
models: {
connection: 'mongoLive'
},
port: 3000,
};
这适用于我的本地计算机,因为生产数据库服务器位于外部服务器上。在生产环境中,我收到以下错误:
[Error: failed to connect to [localhost:27017]]
如果我从连接对象中删除 mongoDev 对象,它可以工作。
我也尝试使用适配器.js,但这只导致了一些弃用错误。
$ sails -v
info: v0.9.9
我在运行sails lift
时得到了一些不同的东西:
info: Sails
info: v0.10.5
您希望将
实际的连接定义保存在开发.js或生产中.js并将其从连接中删除.js。这有点不直观。
发展.js
module.exports = {
connections : {
mongoDev: {
adapter: 'sails-mongo',
host: 'localhost',
port: 27017,
user: 'username',
password: 'password',
database: 'database'
}
},
models: {
connection: 'mongoDev'
}
};
生产.js
module.exports = {
connections : {
mongoLive: {
adapter: 'sails-mongo',
host: 'host.mongolab.com',
port: 31681,
user: 'user',
password: 'password',
database: 'database'
}
},
models: {
connection: 'mongoLive'
},
port: 3000,
};
相关文章:
- 使用Lodash从JSON对象获取特定于环境的配置
- 从数据库中获取配置设置,以便在 Angular 中跨应用程序共享
- Strapi-使用环境变量进行配置
- 环境中的自定义配置条目.js
- 在 Sails.js 中处理数据库环境配置
- Segment.io 和 mixpanel 实现配置文件,适用于生产和非生产环境
- Angularjs - 基于环境的动态配置
- 有没有一种方法可以使用不同的环境配置文件来为基于Ionic Framework的Cordova应用程序进行开发和生产设置
- 通过此WP模板上的MYSQL数据库上传数百个配置文件
- EmberJS,如何管理不同的"配置变量“;对于不同的“;环境”;
- 我应该如何在AngularJS中管理不同环境的配置
- 根据环境(开发、暂存、生产)进行角度配置
- ExpressJs:在不同的环境中配置变量
- 代理自动配置-Javascript Windows环境变量
- 应该在Node.js和Express中找到数据库配置文件
- 在javascript应用程序中处理特定于环境的配置
- 无法使用进程.获取~/中的环境变量.配置文件或~/.Mac中的bash_profile
- 用mocha测试依赖于环境变量process.env.APP_ENV的配置模块
- Postgres + Node,将开发环境迁移到Windows,并且在连接数据库时遇到认证问题
- 尝试配置一个新的webpack+angular2项目,我'm获取错误TS2384:重载签名必须全部为环境签名或非