Как добавить два соединения с экземпляром в node.js - PullRequest
0 голосов
/ 27 сентября 2019

Я пишу программу, обновляющую две другие базы данных в node.js с помощью mysql.Приложение копирует данные из одной базы данных и отправляет в другую базу данных.Моя программа показывает ошибку «Невозможно поставить запрос в очередь после вызова quit».Я хотел бы закончить программу, когда она выполняет свои обещания.Это

Я новичок в Node.js app.js :


const functions = require("./functions");


const app = async () => {
    try{
        console.log('Wywolanie programu');
        let clear = await functions.clear_table();
        let ps_feature = await functions.ps_feature();
        let cleara = await functions.add_to_features(ps_feature);
        console.log('koniec wyowałania');
        process.exit(1);
    }
    catch(err){
        console.log(err);
    }
}


app();

database.js:


  var mysql = require('mysql');
  var connectionTo = mysql.createConnection({
    .....
  });


  var connectionFrom = mysql.createConnection({
    ....
  });

  exports.conTo = connectionTo;
  exports.conFrom = connectionFrom;

functions.js:

const database = require('./database');

list = async (tab) =>{
  let t = [];
  tab.forEach((result, index) =>{
      t.push(Object.values(result));
  });
  return t;
}
exports.clear_table = async () => {
  return new Promise((resolve) =>
  {   
      try{
          database.conTo.connect(function(err) {
              if (err) throw err;
              database.conTo.query("TRUNCATE TABLE ps_feature", function (err, result, fields) {
                if (err) throw err;
                resolve(true);
              });
            });
      }
      catch(err){
          throw err;
      }
      finally{
          database.conTo.end();
      }
  });
}
exports.ps_feature = async () => {
  return new Promise((resolve) =>
  {   
      try{
          database.conFrom.connect(function(err) {
              if (err) throw err;
              database.conFrom.query("SELECT id_feature, position FROM ps_feature", function (err, result, fields) {
                if (err) throw err;
                resolve(list(result));

              });
            });
      }
      catch(err){
          throw err;
      }
      finally{
          database.conFrom.end();
      }
  });
}

exports.add_to_features = async (values) => {
  return new Promise((resolve) =>
  {   
      try{
          database.conTo.connect(function(err) {
              if (err) throw err;
              database.conTo.query("TRUNCATE TABLE ps_feature", function (err, result, fields) {
                if (err) throw err;
                resolve(true);
              });
            });
      }
      catch(err){
          throw err;
      }
  });
}
...