UNPKG

n8n

Version:

n8n Workflow Automation Tool

44 lines 1.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.UniqueWorkflowNames1620821879465 = void 0; const config = require("../../../../config"); class UniqueWorkflowNames1620821879465 { constructor() { this.name = 'UniqueWorkflowNames1620821879465'; } async up(queryRunner) { const tablePrefix = config.get('database.tablePrefix'); const workflowNames = await queryRunner.query(` SELECT name FROM "${tablePrefix}workflow_entity" `); for (const { name } of workflowNames) { const [duplicatesQuery, parameters] = queryRunner.connection.driver.escapeQueryWithParameters(` SELECT id, name FROM "${tablePrefix}workflow_entity" WHERE name = :name ORDER BY createdAt ASC `, { name }, {}); const duplicates = await queryRunner.query(duplicatesQuery, parameters); if (duplicates.length > 1) { await Promise.all(duplicates.map(({ id, name }, index) => { if (index === 0) return Promise.resolve(); const [updateQuery, updateParams] = queryRunner.connection.driver.escapeQueryWithParameters(` UPDATE "${tablePrefix}workflow_entity" SET name = :name WHERE id = '${id}' `, { name: `${name} ${index + 1}` }, {}); return queryRunner.query(updateQuery, updateParams); })); } } await queryRunner.query(`CREATE UNIQUE INDEX "IDX_${tablePrefix}943d8f922be094eb507cb9a7f9" ON "${tablePrefix}workflow_entity" ("name") `); } async down(queryRunner) { const tablePrefix = config.get('database.tablePrefix'); await queryRunner.query(`DROP INDEX "IDX_${tablePrefix}943d8f922be094eb507cb9a7f9"`); } } exports.UniqueWorkflowNames1620821879465 = UniqueWorkflowNames1620821879465; //# sourceMappingURL=1620821879465-UniqueWorkflowNames.js.map