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