如何在Sails.js中定义两个MySQL数据库连接

JDL*_*JDL 5 mysql sails.js

使用sails.js v0.10 rc8,我的应用程序与mysql数据库有1个连接,我希望给定的模型从另一个数据库中获取数据.

可能吗 ?如果是的话,如何实现这一目标?

谢谢

sgr*_*454 10

是的,您可以定义多个连接并将每个模型设置为使用不同的连接.有关完整评论,请参阅连接文档.

您可以在config/connections.js文件中根据需要设置任意数量的连接.您甚至可以使用同一个适配器设置多个连接:

module.exports.connections = {
  // A MySQL connection
  mysql1: {
    adapter: 'sails-mysql',
    user: 'root',
    host: 'localhost',
    database: 'database1'
  },
  // Another MySQL connection, same server, different database
  mysql2: {
    adapter: 'sails-mysql',
    user: 'root',
    host: 'localhost',
    database: 'database2'
  },
  // A Postgresql connection
  postgres: {
    adapter: 'sails-postgresql',
    user: 'postgres',
    host: 'localhost',
    database: 'mypsqldb'
  }
};
Run Code Online (Sandbox Code Playgroud)

然后在模型类文件中,指定用于该模型的连接:

module.exports = {
    connection: 'mysql1',
    attributes: {...}
}
Run Code Online (Sandbox Code Playgroud)

要指定模型的默认连接,请在config/models.js中进行设置:

module.export.models = {
    connection: 'mysql2'
};
Run Code Online (Sandbox Code Playgroud)