Для меня это первая профессиональная работа программистом
И имеет ли смысл связываться с легаси кодомИмеет. Говнокод и легаси есть везде, это только в абстрактных мифических проектах всё делается по SOLID и тд. Как выше правильно сказали - "он появляется буквально на каждом проекте, это нормально".
INSERT INTO tablename (fieldA, fieldB, fieldC, fieldD, fieldE)
VALUES (a, b, c, d, e),
(a1, b1, c1, d1, e1),
(a2, b2, c2, d2, e2),
...
ConstructorName.prototype.process = async () => {
const connection = mysql.createConnection({
host: "-",
user: "-",
password: "-",
database: "-"
});
connection.connect();
const operation = new Promise((resolve, reject) => {
connection.query("SHOW TABLES", (err, results, fields) => {
if (err) reject(err);
results.some(item => (Object.values(item).indexOf('<tablename>') !== - 1))
? resolve('таблица в порядке')
: reject(`Таблица с именем ${'name'} не обнаружена`);
});
});
try {
const result = await operation;
const newOperation = new Promise(function (resolve, reject) {
connection.query(`SHOW COLUMNS FROM <tablename>`, (err, results, fields) => {
if (err) reject(err);
const tableFields = results.map(item => item["Field"]);
["<fieldname>", "<fieldname>", "<fieldname>", "<fieldname>"].every(item => tableFields.indexOf(item) !== -1)
? resolve('Поля в порядке')
: reject(`поле с именем ${'<fieldname>'} не обнаружено`);
})
});
await newOperation;
} catch (error) {
console.log(error);
} finally {
connection.end();
}
};