5 changed files with 58 additions and 19 deletions
@ -0,0 +1,47 @@ |
|||
|
|||
const Automate = require('sequelize-automate-freesun') |
|||
|
|||
async function handleTask(app, task) { |
|||
try { |
|||
const { models } = app.fs.dc |
|||
const dataSource = await models.DataSource.findOne({ |
|||
where: { |
|||
id: task.dataSourceId |
|||
} |
|||
}); |
|||
|
|||
if (dataSource) { |
|||
const dbOptions = createDbOptions(dataSource.config); |
|||
const automate = new Automate(dbOptions, {}); |
|||
const tables = await automate.getTables() |
|||
console.log(tables) |
|||
} |
|||
} catch (error) { |
|||
app.fs.logger.error(`sechedule: handleTask, error: ${error}`); |
|||
} |
|||
} |
|||
|
|||
function createDbOptions(params) { |
|||
const dbOptions = { |
|||
database: params.database, |
|||
username: params.user, |
|||
password: params.password, |
|||
dialect: 'postgres', |
|||
host: params.host, |
|||
port: params.port, |
|||
define: { |
|||
underscored: false, |
|||
freezeTableName: false, |
|||
charset: 'utf8mb4', |
|||
timezone: '+00: 00', |
|||
dialectOptions: { |
|||
collate: 'utf8_general_ci', |
|||
}, |
|||
timestamps: false, |
|||
}, |
|||
} |
|||
return dbOptions |
|||
|
|||
} |
|||
|
|||
module.exports = { handleTask } |
Loading…
Reference in new issue