fix(all): TRUE multicloud.
This commit is contained in:
parent
a7be4850b7
commit
cc22f3963d
1 changed files with 63 additions and 60 deletions
|
@ -289,6 +289,69 @@ export class GBVMService extends GBService {
|
||||||
if (Fs.existsSync(filePath)) {
|
if (Fs.existsSync(filePath)) {
|
||||||
connections = JSON.parse(Fs.readFileSync(filePath, 'utf8'));
|
connections = JSON.parse(Fs.readFileSync(filePath, 'utf8'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
connections.forEach(async con => {
|
||||||
|
|
||||||
|
const connectionName = con['storageDriver']
|
||||||
|
|
||||||
|
const dialect = con['storageDriver'];
|
||||||
|
const host = con['storageServer'];
|
||||||
|
const port = con['storagePort'];
|
||||||
|
const storageName = con['storageName'];
|
||||||
|
const username = con['storageUsername'];
|
||||||
|
const password = con['storagePassword'];
|
||||||
|
|
||||||
|
const logging: boolean | Function =
|
||||||
|
GBConfigService.get('STORAGE_LOGGING') === 'true'
|
||||||
|
? (str: string): void => {
|
||||||
|
GBLogEx.info(min, str);
|
||||||
|
}
|
||||||
|
: false;
|
||||||
|
|
||||||
|
const encrypt: boolean = GBConfigService.get('STORAGE_ENCRYPT') === 'true';
|
||||||
|
const acquire = parseInt(GBConfigService.get('STORAGE_ACQUIRE_TIMEOUT'));
|
||||||
|
const sequelizeOptions = {
|
||||||
|
define: {
|
||||||
|
charset: 'utf8',
|
||||||
|
collate: 'utf8_general_ci',
|
||||||
|
freezeTableName: true,
|
||||||
|
timestamps: false
|
||||||
|
},
|
||||||
|
host: host,
|
||||||
|
port: port,
|
||||||
|
logging: logging as boolean,
|
||||||
|
dialect: dialect,
|
||||||
|
quoteIdentifiers: false, // set case-insensitive
|
||||||
|
dialectOptions: {
|
||||||
|
options: {
|
||||||
|
trustServerCertificate: true,
|
||||||
|
encrypt: encrypt,
|
||||||
|
requestTimeout: 120 * 1000
|
||||||
|
}
|
||||||
|
},
|
||||||
|
pool: {
|
||||||
|
max: 5,
|
||||||
|
min: 0,
|
||||||
|
idle: 10000,
|
||||||
|
evict: 10000,
|
||||||
|
acquire: acquire
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
if (!min[connectionName]) {
|
||||||
|
GBLogEx.info(min, `Loading custom connection ${connectionName}...`);
|
||||||
|
min[connectionName] = new Sequelize(storageName, username, password, sequelizeOptions);
|
||||||
|
if (connectionName === 'llm') {
|
||||||
|
min[`llm`] = {
|
||||||
|
type: dialect,
|
||||||
|
username,
|
||||||
|
database: storageName,
|
||||||
|
password
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
const shouldSync = min.core.getParam<boolean>(min.instance, 'Synchronize Database', false);
|
const shouldSync = min.core.getParam<boolean>(min.instance, 'Synchronize Database', false);
|
||||||
|
|
||||||
tableDef.forEach(async t => {
|
tableDef.forEach(async t => {
|
||||||
|
@ -308,66 +371,6 @@ export class GBVMService extends GBService {
|
||||||
const connectionName = t.connection;
|
const connectionName = t.connection;
|
||||||
let con;
|
let con;
|
||||||
|
|
||||||
if (connectionName && connections) {
|
|
||||||
con = connections.filter(p => p.name === connectionName)[0];
|
|
||||||
|
|
||||||
const dialect = con['storageDriver'];
|
|
||||||
const host = con['storageServer'];
|
|
||||||
const port = con['storagePort'];
|
|
||||||
const storageName = con['storageName'];
|
|
||||||
const username = con['storageUsername'];
|
|
||||||
const password = con['storagePassword'];
|
|
||||||
|
|
||||||
const logging: boolean | Function =
|
|
||||||
GBConfigService.get('STORAGE_LOGGING') === 'true'
|
|
||||||
? (str: string): void => {
|
|
||||||
GBLogEx.info(min, str);
|
|
||||||
}
|
|
||||||
: false;
|
|
||||||
|
|
||||||
const encrypt: boolean = GBConfigService.get('STORAGE_ENCRYPT') === 'true';
|
|
||||||
const acquire = parseInt(GBConfigService.get('STORAGE_ACQUIRE_TIMEOUT'));
|
|
||||||
const sequelizeOptions = {
|
|
||||||
define: {
|
|
||||||
charset: 'utf8',
|
|
||||||
collate: 'utf8_general_ci',
|
|
||||||
freezeTableName: true,
|
|
||||||
timestamps: false
|
|
||||||
},
|
|
||||||
host: host,
|
|
||||||
port: port,
|
|
||||||
logging: logging as boolean,
|
|
||||||
dialect: dialect,
|
|
||||||
quoteIdentifiers: false, // set case-insensitive
|
|
||||||
dialectOptions: {
|
|
||||||
options: {
|
|
||||||
trustServerCertificate: true,
|
|
||||||
encrypt: encrypt,
|
|
||||||
requestTimeout: 120 * 1000
|
|
||||||
}
|
|
||||||
},
|
|
||||||
pool: {
|
|
||||||
max: 5,
|
|
||||||
min: 0,
|
|
||||||
idle: 10000,
|
|
||||||
evict: 10000,
|
|
||||||
acquire: acquire
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
if (!min[connectionName]) {
|
|
||||||
GBLogEx.info(min, `Loading custom connection ${connectionName}...`);
|
|
||||||
min[connectionName] = new Sequelize(storageName, username, password, sequelizeOptions);
|
|
||||||
if (connectionName === 'llm') {
|
|
||||||
min[`llm`] = {
|
|
||||||
type: dialect,
|
|
||||||
username,
|
|
||||||
database: storageName,
|
|
||||||
password
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!con) {
|
if (!con) {
|
||||||
throw new Error(`Invalid connection specified: ${connectionName}.`);
|
throw new Error(`Invalid connection specified: ${connectionName}.`);
|
||||||
|
|
Loading…
Add table
Reference in a new issue