mssql-change-tracking
Version:
MS SQL server change tracking functions
27 lines • 1.09 kB
JavaScript
import { writeLog } from "fast-node-logger";
import { getTableFullPath } from "../../../helpers/util";
import { ctTablesStatus } from "./change-tracking-table-status";
/** Enable change tracking in Table level */
export async function ctTableEnable({ pool, tableName, dbName, schema, trackColumnsUpdated, }) {
writeLog(`ctTableEnable`, { level: "trace" });
await pool.request().query(ctTableEnableQuery({
trackColumnsUpdated,
schema,
dbName,
tableName,
}));
return ctTablesStatus({ dbName, pool });
}
export function ctTableEnableQuery({ schema, dbName, tableName, trackColumnsUpdated, }) {
const tableFullPath = getTableFullPath({ tableName, schema, dbName });
let query = `ALTER TABLE ${tableFullPath}
ENABLE CHANGE_TRACKING`;
if (trackColumnsUpdated) {
query = query.concat(`WITH (TRACK_COLUMNS_UPDATED = ${trackColumnsUpdated})`);
}
if (dbName) {
query = `USE [${dbName}]; `.concat(query);
}
return query;
}
//# sourceMappingURL=change-tracking-table-enable.js.map