だから一言で言えば「はい」。私の質問で私が尋ねたことはすべて「はい」でした。続編のドキュメントに示されているように、データベースに接続できます。config.json ファイルを構成して、ユーザー名とデータベース名を使用して「postgres」構成にすることもできます。新しい Sequelize オブジェクトを作成するときに、services/index.js ファイルにフル パスを配置することもできます。接続があることを確認する最善の方法は、新しい Sequelize オブジェクトを作成した後に次のコードを使用することです。
new_sequelize_object
.authenticate()
.then(function(err) {
console.log('Connection to the DB has been established successfully.');
})
.catch(function (err) {
console.log('Unable to connect to the database:', err);
});
(から取得: http://docs.sequelizejs.com/en/latest/docs/getting-started/ )
複数の Sequelize オブジェクトを定義して、アプリに設定することもできます。次に、特定のサービスの index.js ファイルでモデルを定義するときに、新しいバインドされた名前を app.get('new_sequelize_object') に配置します。
以下は、2 つのデータベースが定義された services/index.js ファイルです。
'use strict';
const service1 = require('./service1');
const authentication = require('./authentication');
const user = require('./user');
const Sequelize = require('sequelize');
module.exports = function() {
const app = this;
const sequelize = new Sequelize('feathers_db1', 'u1', 'upw', {
host: 'localhost',
port: 5432,
dialect: 'postgres',
logging: false
});
const sequelize2 = new Sequelize('postgres://u1:upw@localhost:5432/feathers_db2', {
dialect: 'postgres',
logging: false
});
app.set('sequelize', sequelize);
app.set('sequelize2', sequelize2);
sequelize
.authenticate()
.then(function(err) {
console.log('Connection to sequelize has been established successfully.');
})
.catch(function (err) {
console.log('Unable to connect to the database:', err);
});
sequelize2
.authenticate()
.then(function(err) {
console.log('Connection has been established to sequelize2 successfully.');
})
.catch(function (err) {
console.log('Unable to connect to the database:', err);
});
app.configure(authentication);
app.configure(user);
app.configure(service1);
};
そして、これが servicesequelize2: 'use strict'; を使用する service1/index.js ファイルです。
const service = require('feathers-sequelize');
const service1 = require('./service1-model');
const hooks = require('./hooks');
module.exports = function(){
const app = this;
const options = {
//Here is where one sets the name of the differeng sequelize objects
Model: service1(app.get('sequelize2')),
paginate: {
default: 5,
max: 25
}
};
// Initialize our service with any options it requires
app.use('/service1', service(options));
// Get our initialize service to that we can bind hooks
const service1Service = app.service('/service1');
// Set up our before hooks
service1Service.before(hooks.before);
// Set up our after hooks
service1Service.after(hooks.after);
};