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

时间:2014-07-16 08:44:59

标签: mysql sails.js

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

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

由于

1 个答案:

答案 0 :(得分:10)

是的,您可以定义多个连接并将每个模型设置为使用不同的连接。请参阅documentation on connections进行全面审核。

您可以在 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'
  }
};

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

module.exports = {
    connection: 'mysql1',
    attributes: {...}
}

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

module.export.models = {
    connection: 'mysql2'
};