2つのデータベースを使用する場合、Sequelizeのインスタンスを複数作成する必要がありますか?つまり、同じマシン上の2つのデータベースです。Sequelize:複数のデータベースを使用する
そうでない場合、これを行うにはどうすればよいですか? 2つのデータベースを使用するために2回接続する必要があるのは残念です。
たとえば、私は異なるデータベースにデータベースを用意しています。たとえば、顧客データがあるデータベースにあり、統計データが別のデータベースにあるとします。
MySQLでそう:
MySQL [customers]> show databases;
+--------------------+
| Database |
+--------------------+
| customers |
| stats |
+--------------------+
そして私は、私が試した
// Create a connection....
var Sequelize = require('sequelize');
var sequelize = new Sequelize('customers', 'my_user', 'some_password', {
host: 'localhost',
dialect: 'mysql',
pool: {
max: 5,
min: 0,
idle: 10000
},
logging: function(output) {
if (opts.log_queries) {
log.it("sequelize_log",{log: output});
}
}
});
// Authenticate it.
sequelize.authenticate().nodeify(function(err) {
// Do stuff....
});
sequelizeと接続するためにこれを持っては「トリック」モデルの定義では、それによっては、ドット表記を使用する
var InterestingStatistics = sequelize.define('stats.interesting_statistics', { /* ... */ });
しかし、テーブルcustomers.stats.interesting_statistics
が作成されます。私は、統計データベースの既存のテーブルを使用する必要があります。
これを達成するための適切な方法は何ですか?ありがとう。
優秀な回答、ありがとうございます。確認されて、完璧に動作します。私は先に進んで複数のインスタンスを作成した後、モデルを作成するときにこれらのインスタンスを参照し、魅力的な作品となります。健全性チェックを評価して、私がハックアイシェフでやっていないことを確認してください。 – dougBTV
私は、複数のデータベースへのアクセスで同様の問題を抱えています。 私のアプリケーションには、同じスキーマを持つ複数のデータベースへのすべてのdb接続を処理する1つのdb接続プールがあります。だから、私はまだ完全な解決策を見つけていない。 – huangchang
@dougBTVスニペットを共有して、それらの間の関係を表現できますか? –