1
我正在創建一個Sails應用程序,我需要對模型數據庫的事務進行面板管理。關鍵是,後端架構和數據管理需要Sails應用程序中相同模型的不同數據庫。如何讓Sails模型指向不同的數據庫?
所以,我的模型是這樣的:
module.exports = {
connection: 'seasonDB',
autoPK: false,
attributes: {
id: {
type: 'string',
primaryKey: true,
required: true
},
avatar: {
type: 'string',
defaultsTo: ''
},
price: {
type: 'integer',
defaultsTo: function() {
var prices = [ 7000000, 5000000, 4000000, 2500000, 1000000 ];
return prices[_.random(prices.length -1)];
}
},
description: {
type: 'string',
defaultsTo: ''
},
status: {
type: 'string',
enum: ['suspended', 'inSquad','injured','out']
}
}
};
凡'seasonDB'
在config/connections.js
定義:
seasonDB: {
adapter: process.env.SEASON_DB_ADAPTER,
host: process.env.SEASON_DB_HOST,
port: process.env.SEASON_DB_PORT,
user: process.env.SEASON_DB_USER,
password: process.env.SEASON_DB_PASSWORD,
database: process.env.SEASON_DB_DB
}
那麼,有沒有什麼辦法來改變環境變量並以某種方式與重新加載模型重新加載整個應用程序?
但是,這將重新加載整個應用程序,租賃任何正在進行的HTTP請求,對不對? – diegoaguilar
其實它不會重新加載應用程序。它將重新啓動orm hook並重新綁定路由。所以只有這個鉤子會被重新加載。但我的建議是刪除與掛鉤路由相關的功能。 –
所以你的意思是:*使用鉤子將重新加載ORM並將其配置爲保持路由不變* – diegoaguilar