1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const fs = require("fs-extra");
|
4 | const sql = require("mssql");
|
5 | async function executeSqlFile(params, pool) {
|
6 | const { filepath, } = params;
|
7 | const sqlStr = await fs.readFile(filepath, 'utf8');
|
8 | const batchStrings = sqlStr.split(/^go\r?\n?/gmi);
|
9 | const request = await pool.request();
|
10 | return Promise.all(batchStrings.map(str => {
|
11 | return request.batch(str);
|
12 | }))
|
13 | .then(allResults => {
|
14 | return allResults.reduce((acc, res) => {
|
15 | acc.recordsets = acc.recordsets.concat(res.recordsets);
|
16 | acc.rowsAffected = acc.rowsAffected.concat(res.rowsAffected);
|
17 | return acc;
|
18 | }, {
|
19 | recordsets: [],
|
20 | rowsAffected: [],
|
21 | });
|
22 | });
|
23 | }
|
24 | exports.executeSqlFile = executeSqlFile;
|
25 | async function createConnection(config) {
|
26 | return new sql.ConnectionPool(config)
|
27 | .connect()
|
28 | .catch(err => {
|
29 | console.error(err);
|
30 | });
|
31 | }
|
32 | exports.createConnection = createConnection;
|