plopfile.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. const moduleGenerator = require('./template/prompt')
  2. const mysql = require('mysql')
  3. module.exports = (plop) => {
  4. plop.setHelper('upperCase', (txt) => txt.toUpperCase())
  5. plop.setHelper('toJson', function (obj) {
  6. return JSON.stringify(obj)
  7. })
  8. const connection = mysql.createConnection({
  9. host: '192.168.0.252',
  10. port: 3306,
  11. user: 'root',
  12. password: 'Dashoo#190801@ali',
  13. database: 'dashoo_crm',
  14. })
  15. // or do async things inside of an action
  16. // eslint-disable-next-line no-unused-vars
  17. plop.setActionType('queryTableColumns', function (answers, config, plop) {
  18. return new Promise((resolve, reject) => {
  19. const sql =
  20. 'select column_name prop,column_comment label,data_type type,"auto" width,1 sortable from information_schema.columns where table_name=? and table_schema="dashoo_crm"'
  21. connection.query(sql, answers['table'], function (err, result) {
  22. if (err) {
  23. return reject(err)
  24. }
  25. answers['columns'] = result
  26. resolve(result)
  27. })
  28. connection.end()
  29. })
  30. })
  31. plop.setGenerator('module', moduleGenerator)
  32. }