diff --git a/src/driver/aurora-data-api/AuroraDataApiQueryRunner.ts b/src/driver/aurora-data-api/AuroraDataApiQueryRunner.ts index 906b73763a..5e156c508d 100644 --- a/src/driver/aurora-data-api/AuroraDataApiQueryRunner.ts +++ b/src/driver/aurora-data-api/AuroraDataApiQueryRunner.ts @@ -509,7 +509,7 @@ export class AuroraDataApiQueryRunner extends BaseQueryRunner implements QueryRu } else if (column.isUnique) { const uniqueIndex = new TableIndex({ - name: this.connection.namingStrategy.indexName(table.name, [column.name]), + name: this.connection.namingStrategy.indexName(table, [column.name]), columnNames: [column.name], isUnique: true }); @@ -712,7 +712,7 @@ export class AuroraDataApiQueryRunner extends BaseQueryRunner implements QueryRu if (newColumn.isUnique !== oldColumn.isUnique) { if (newColumn.isUnique === true) { const uniqueIndex = new TableIndex({ - name: this.connection.namingStrategy.indexName(table.name, [newColumn.name]), + name: this.connection.namingStrategy.indexName(table, [newColumn.name]), columnNames: [newColumn.name], isUnique: true }); @@ -814,12 +814,12 @@ export class AuroraDataApiQueryRunner extends BaseQueryRunner implements QueryRu } else if (column.isUnique) { // we splice constraints both from table uniques and indices. - const uniqueName = this.connection.namingStrategy.uniqueConstraintName(table.name, [column.name]); + const uniqueName = this.connection.namingStrategy.uniqueConstraintName(table, [column.name]); const foundUnique = clonedTable.uniques.find(unique => unique.name === uniqueName); if (foundUnique) clonedTable.uniques.splice(clonedTable.uniques.indexOf(foundUnique), 1); - const indexName = this.connection.namingStrategy.indexName(table.name, [column.name]); + const indexName = this.connection.namingStrategy.indexName(table, [column.name]); const foundIndex = clonedTable.indices.find(index => index.name === indexName); if (foundIndex) clonedTable.indices.splice(clonedTable.indices.indexOf(foundIndex), 1); @@ -1027,7 +1027,7 @@ export class AuroraDataApiQueryRunner extends BaseQueryRunner implements QueryRu // new FK may be passed without name. In this case we generate FK name manually. if (!foreignKey.name) - foreignKey.name = this.connection.namingStrategy.foreignKeyName(table.name, foreignKey.columnNames); + foreignKey.name = this.connection.namingStrategy.foreignKeyName(table, foreignKey.columnNames); const up = this.createForeignKeySql(table, foreignKey); const down = this.dropForeignKeySql(table, foreignKey); @@ -1074,7 +1074,7 @@ export class AuroraDataApiQueryRunner extends BaseQueryRunner implements QueryRu // new index may be passed without name. In this case we generate index name manually. if (!index.name) - index.name = this.connection.namingStrategy.indexName(table.name, index.columnNames, index.where); + index.name = this.connection.namingStrategy.indexName(table, index.columnNames, index.where); const up = this.createIndexSql(table, index); const down = this.dropIndexSql(table, index); @@ -1460,7 +1460,7 @@ export class AuroraDataApiQueryRunner extends BaseQueryRunner implements QueryRu }); if (!isUniqueIndexExist && !isUniqueConstraintExist) table.indices.push(new TableIndex({ - name: this.connection.namingStrategy.uniqueConstraintName(table.name, [column.name]), + name: this.connection.namingStrategy.uniqueConstraintName(table, [column.name]), columnNames: [column.name], isUnique: true })); @@ -1484,7 +1484,7 @@ export class AuroraDataApiQueryRunner extends BaseQueryRunner implements QueryRu const indicesSql = table.indices.map(index => { const columnNames = index.columnNames.map(columnName => `\`${columnName}\``).join(", "); if (!index.name) - index.name = this.connection.namingStrategy.indexName(table.name, index.columnNames, index.where); + index.name = this.connection.namingStrategy.indexName(table, index.columnNames, index.where); let indexType = ""; if (index.isUnique) @@ -1503,7 +1503,7 @@ export class AuroraDataApiQueryRunner extends BaseQueryRunner implements QueryRu const foreignKeysSql = table.foreignKeys.map(fk => { const columnNames = fk.columnNames.map(columnName => `\`${columnName}\``).join(", "); if (!fk.name) - fk.name = this.connection.namingStrategy.foreignKeyName(table.name, fk.columnNames); + fk.name = this.connection.namingStrategy.foreignKeyName(table, fk.columnNames); const referencedColumnNames = fk.referencedColumnNames.map(columnName => `\`${columnName}\``).join(", "); let constraint = `CONSTRAINT \`${fk.name}\` FOREIGN KEY (${columnNames}) REFERENCES ${this.escapePath(fk.referencedTableName)} (${referencedColumnNames})`; diff --git a/src/driver/cockroachdb/CockroachQueryRunner.ts b/src/driver/cockroachdb/CockroachQueryRunner.ts index 761832b1b9..b734b138be 100644 --- a/src/driver/cockroachdb/CockroachQueryRunner.ts +++ b/src/driver/cockroachdb/CockroachQueryRunner.ts @@ -429,7 +429,7 @@ export class CockroachQueryRunner extends BaseQueryRunner implements QueryRunner // new index may be passed without name. In this case we generate index name manually. if (!index.name) - index.name = this.connection.namingStrategy.indexName(table.name, index.columnNames, index.where); + index.name = this.connection.namingStrategy.indexName(table, index.columnNames, index.where); upQueries.push(this.createIndexSql(table, index)); downQueries.push(this.dropIndexSql(table, index)); }); @@ -603,14 +603,14 @@ export class CockroachQueryRunner extends BaseQueryRunner implements QueryRunner // if table already have primary key, me must drop it and recreate again // todo: altering pk is not supported yet https://github.com/cockroachdb/cockroach/issues/19141 if (primaryColumns.length > 0) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); } primaryColumns.push(column); - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); @@ -622,7 +622,7 @@ export class CockroachQueryRunner extends BaseQueryRunner implements QueryRunner // CockroachDB stores unique indices as UNIQUE constraints if (columnIndex.isUnique) { const unique = new TableUnique({ - name: this.connection.namingStrategy.uniqueConstraintName(table.name, columnIndex.columnNames), + name: this.connection.namingStrategy.uniqueConstraintName(table, columnIndex.columnNames), columnNames: columnIndex.columnNames }); upQueries.push(this.createUniqueConstraintSql(table, unique)); @@ -638,7 +638,7 @@ export class CockroachQueryRunner extends BaseQueryRunner implements QueryRunner // create unique constraint if (column.isUnique) { const uniqueConstraint = new TableUnique({ - name: this.connection.namingStrategy.uniqueConstraintName(table.name, [column.name]), + name: this.connection.namingStrategy.uniqueConstraintName(table, [column.name]), columnNames: [column.name] }); clonedTable.uniques.push(uniqueConstraint); @@ -814,7 +814,7 @@ export class CockroachQueryRunner extends BaseQueryRunner implements QueryRunner // if primary column state changed, we must always drop existed constraint. if (primaryColumns.length > 0) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); @@ -825,7 +825,7 @@ export class CockroachQueryRunner extends BaseQueryRunner implements QueryRunner // update column in table const column = clonedTable.columns.find(column => column.name === newColumn.name); column!.isPrimary = true; - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); @@ -840,7 +840,7 @@ export class CockroachQueryRunner extends BaseQueryRunner implements QueryRunner // if we have another primary keys, we must recreate constraint. if (primaryColumns.length > 0) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); @@ -851,7 +851,7 @@ export class CockroachQueryRunner extends BaseQueryRunner implements QueryRunner if (newColumn.isUnique !== oldColumn.isUnique) { if (newColumn.isUnique) { const uniqueConstraint = new TableUnique({ - name: this.connection.namingStrategy.uniqueConstraintName(table.name, [newColumn.name]), + name: this.connection.namingStrategy.uniqueConstraintName(table, [newColumn.name]), columnNames: [newColumn.name] }); clonedTable.uniques.push(uniqueConstraint); @@ -935,7 +935,7 @@ export class CockroachQueryRunner extends BaseQueryRunner implements QueryRunner // drop primary key constraint // todo: altering pk is not supported yet https://github.com/cockroachdb/cockroach/issues/19141 if (column.isPrimary) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, clonedTable.primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, clonedTable.primaryColumns.map(column => column.name)); const columnNames = clonedTable.primaryColumns.map(primaryColumn => `"${primaryColumn.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(clonedTable)} DROP CONSTRAINT "${pkName}"`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(clonedTable)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); @@ -946,7 +946,7 @@ export class CockroachQueryRunner extends BaseQueryRunner implements QueryRunner // if primary key have multiple columns, we must recreate it without dropped column if (clonedTable.primaryColumns.length > 0) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, clonedTable.primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, clonedTable.primaryColumns.map(column => column.name)); const columnNames = clonedTable.primaryColumns.map(primaryColumn => `"${primaryColumn.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(clonedTable)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(clonedTable)} DROP CONSTRAINT "${pkName}"`)); @@ -1033,7 +1033,7 @@ export class CockroachQueryRunner extends BaseQueryRunner implements QueryRunner // if table already have primary columns, we must drop them. const primaryColumns = clonedTable.primaryColumns; if (primaryColumns.length > 0) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNamesString = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNamesString})`)); @@ -1044,7 +1044,7 @@ export class CockroachQueryRunner extends BaseQueryRunner implements QueryRunner .filter(column => columnNames.indexOf(column.name) !== -1) .forEach(column => column.isPrimary = true); - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, columnNames); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, columnNames); const columnNamesString = columnNames.map(columnName => `"${columnName}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNamesString})`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); @@ -1074,7 +1074,7 @@ export class CockroachQueryRunner extends BaseQueryRunner implements QueryRunner // new unique constraint may be passed without name. In this case we generate unique name manually. if (!uniqueConstraint.name) - uniqueConstraint.name = this.connection.namingStrategy.uniqueConstraintName(table.name, uniqueConstraint.columnNames); + uniqueConstraint.name = this.connection.namingStrategy.uniqueConstraintName(table, uniqueConstraint.columnNames); const up = this.createUniqueConstraintSql(table, uniqueConstraint); // CockroachDB creates index for UNIQUE constraint. @@ -1127,7 +1127,7 @@ export class CockroachQueryRunner extends BaseQueryRunner implements QueryRunner // new unique constraint may be passed without name. In this case we generate unique name manually. if (!checkConstraint.name) - checkConstraint.name = this.connection.namingStrategy.checkConstraintName(table.name, checkConstraint.expression!); + checkConstraint.name = this.connection.namingStrategy.checkConstraintName(table, checkConstraint.expression!); const up = this.createCheckConstraintSql(table, checkConstraint); const down = this.dropCheckConstraintSql(table, checkConstraint); @@ -1202,7 +1202,7 @@ export class CockroachQueryRunner extends BaseQueryRunner implements QueryRunner // new FK may be passed without name. In this case we generate FK name manually. if (!foreignKey.name) - foreignKey.name = this.connection.namingStrategy.foreignKeyName(table.name, foreignKey.columnNames, foreignKey.referencedTableName, foreignKey.referencedColumnNames); + foreignKey.name = this.connection.namingStrategy.foreignKeyName(table, foreignKey.columnNames, foreignKey.referencedTableName, foreignKey.referencedColumnNames); const up = this.createForeignKeySql(table, foreignKey); const down = this.dropForeignKeySql(table, foreignKey); @@ -1251,7 +1251,7 @@ export class CockroachQueryRunner extends BaseQueryRunner implements QueryRunner // new index may be passed without name. In this case we generate index name manually. if (!index.name) - index.name = this.connection.namingStrategy.indexName(table.name, index.columnNames, index.where); + index.name = this.connection.namingStrategy.indexName(table, index.columnNames, index.where); // CockroachDB stores unique indices and UNIQUE constraints if (index.isUnique) { @@ -1709,7 +1709,7 @@ export class CockroachQueryRunner extends BaseQueryRunner implements QueryRunner const isUniqueExist = table.uniques.some(unique => unique.columnNames.length === 1 && unique.columnNames[0] === column.name); if (!isUniqueExist) table.uniques.push(new TableUnique({ - name: this.connection.namingStrategy.uniqueConstraintName(table.name, [column.name]), + name: this.connection.namingStrategy.uniqueConstraintName(table, [column.name]), columnNames: [column.name] })); }); @@ -1718,14 +1718,14 @@ export class CockroachQueryRunner extends BaseQueryRunner implements QueryRunner .filter(index => index.isUnique) .forEach(index => { table.uniques.push(new TableUnique({ - name: this.connection.namingStrategy.uniqueConstraintName(table.name, index.columnNames), + name: this.connection.namingStrategy.uniqueConstraintName(table, index.columnNames), columnNames: index.columnNames })); }); if (table.uniques.length > 0) { const uniquesSql = table.uniques.map(unique => { - const uniqueName = unique.name ? unique.name : this.connection.namingStrategy.uniqueConstraintName(table.name, unique.columnNames); + const uniqueName = unique.name ? unique.name : this.connection.namingStrategy.uniqueConstraintName(table, unique.columnNames); const columnNames = unique.columnNames.map(columnName => `"${columnName}"`).join(", "); return `CONSTRAINT "${uniqueName}" UNIQUE (${columnNames})`; }).join(", "); @@ -1735,7 +1735,7 @@ export class CockroachQueryRunner extends BaseQueryRunner implements QueryRunner if (table.checks.length > 0) { const checksSql = table.checks.map(check => { - const checkName = check.name ? check.name : this.connection.namingStrategy.checkConstraintName(table.name, check.expression!); + const checkName = check.name ? check.name : this.connection.namingStrategy.checkConstraintName(table, check.expression!); return `CONSTRAINT "${checkName}" CHECK (${check.expression})`; }).join(", "); @@ -1746,7 +1746,7 @@ export class CockroachQueryRunner extends BaseQueryRunner implements QueryRunner const foreignKeysSql = table.foreignKeys.map(fk => { const columnNames = fk.columnNames.map(columnName => `"${columnName}"`).join(", "); if (!fk.name) - fk.name = this.connection.namingStrategy.foreignKeyName(table.name, fk.columnNames, fk.referencedTableName, fk.referencedColumnNames); + fk.name = this.connection.namingStrategy.foreignKeyName(table, fk.columnNames, fk.referencedTableName, fk.referencedColumnNames); const referencedColumnNames = fk.referencedColumnNames.map(columnName => `"${columnName}"`).join(", "); let constraint = `CONSTRAINT "${fk.name}" FOREIGN KEY (${columnNames}) REFERENCES ${this.escapePath(fk.referencedTableName)} (${referencedColumnNames})`; @@ -1763,7 +1763,7 @@ export class CockroachQueryRunner extends BaseQueryRunner implements QueryRunner const primaryColumns = table.columns.filter(column => column.isPrimary); if (primaryColumns.length > 0) { - const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table.name, primaryColumns.map(column => column.name)); + const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); sql += `, CONSTRAINT "${primaryKeyName}" PRIMARY KEY (${columnNames})`; } @@ -1876,7 +1876,7 @@ export class CockroachQueryRunner extends BaseQueryRunner implements QueryRunner * Builds create primary key sql. */ protected createPrimaryKeySql(table: Table, columnNames: string[]): Query { - const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table.name, columnNames); + const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table, columnNames); const columnNamesString = columnNames.map(columnName => `"${columnName}"`).join(", "); return new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${primaryKeyName}" PRIMARY KEY (${columnNamesString})`); } @@ -1886,7 +1886,7 @@ export class CockroachQueryRunner extends BaseQueryRunner implements QueryRunner */ protected dropPrimaryKeySql(table: Table): Query { const columnNames = table.primaryColumns.map(column => column.name); - const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table.name, columnNames); + const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table, columnNames); return new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${primaryKeyName}"`); } diff --git a/src/driver/mysql/MysqlQueryRunner.ts b/src/driver/mysql/MysqlQueryRunner.ts index 69a59afe54..ec6a4c698e 100644 --- a/src/driver/mysql/MysqlQueryRunner.ts +++ b/src/driver/mysql/MysqlQueryRunner.ts @@ -560,7 +560,7 @@ export class MysqlQueryRunner extends BaseQueryRunner implements QueryRunner { } else if (column.isUnique) { const uniqueIndex = new TableIndex({ - name: this.connection.namingStrategy.indexName(table.name, [column.name]), + name: this.connection.namingStrategy.indexName(table, [column.name]), columnNames: [column.name], isUnique: true }); @@ -765,7 +765,7 @@ export class MysqlQueryRunner extends BaseQueryRunner implements QueryRunner { if (newColumn.isUnique !== oldColumn.isUnique) { if (newColumn.isUnique === true) { const uniqueIndex = new TableIndex({ - name: this.connection.namingStrategy.indexName(table.name, [newColumn.name]), + name: this.connection.namingStrategy.indexName(table, [newColumn.name]), columnNames: [newColumn.name], isUnique: true }); @@ -867,12 +867,12 @@ export class MysqlQueryRunner extends BaseQueryRunner implements QueryRunner { } else if (column.isUnique) { // we splice constraints both from table uniques and indices. - const uniqueName = this.connection.namingStrategy.uniqueConstraintName(table.name, [column.name]); + const uniqueName = this.connection.namingStrategy.uniqueConstraintName(table, [column.name]); const foundUnique = clonedTable.uniques.find(unique => unique.name === uniqueName); if (foundUnique) clonedTable.uniques.splice(clonedTable.uniques.indexOf(foundUnique), 1); - const indexName = this.connection.namingStrategy.indexName(table.name, [column.name]); + const indexName = this.connection.namingStrategy.indexName(table, [column.name]); const foundIndex = clonedTable.indices.find(index => index.name === indexName); if (foundIndex) clonedTable.indices.splice(clonedTable.indices.indexOf(foundIndex), 1); @@ -1080,7 +1080,7 @@ export class MysqlQueryRunner extends BaseQueryRunner implements QueryRunner { // new FK may be passed without name. In this case we generate FK name manually. if (!foreignKey.name) - foreignKey.name = this.connection.namingStrategy.foreignKeyName(table.name, foreignKey.columnNames, foreignKey.referencedTableName, foreignKey.referencedColumnNames); + foreignKey.name = this.connection.namingStrategy.foreignKeyName(table, foreignKey.columnNames, foreignKey.referencedTableName, foreignKey.referencedColumnNames); const up = this.createForeignKeySql(table, foreignKey); const down = this.dropForeignKeySql(table, foreignKey); @@ -1127,7 +1127,7 @@ export class MysqlQueryRunner extends BaseQueryRunner implements QueryRunner { // new index may be passed without name. In this case we generate index name manually. if (!index.name) - index.name = this.connection.namingStrategy.indexName(table.name, index.columnNames, index.where); + index.name = this.connection.namingStrategy.indexName(table, index.columnNames, index.where); const up = this.createIndexSql(table, index); const down = this.dropIndexSql(table, index); @@ -1641,7 +1641,7 @@ export class MysqlQueryRunner extends BaseQueryRunner implements QueryRunner { }); if (!isUniqueIndexExist && !isUniqueConstraintExist) table.indices.push(new TableIndex({ - name: this.connection.namingStrategy.uniqueConstraintName(table.name, [column.name]), + name: this.connection.namingStrategy.uniqueConstraintName(table, [column.name]), columnNames: [column.name], isUnique: true })); @@ -1665,7 +1665,7 @@ export class MysqlQueryRunner extends BaseQueryRunner implements QueryRunner { const indicesSql = table.indices.map(index => { const columnNames = index.columnNames.map(columnName => `\`${columnName}\``).join(", "); if (!index.name) - index.name = this.connection.namingStrategy.indexName(table.name, index.columnNames, index.where); + index.name = this.connection.namingStrategy.indexName(table, index.columnNames, index.where); let indexType = ""; if (index.isUnique) @@ -1686,7 +1686,7 @@ export class MysqlQueryRunner extends BaseQueryRunner implements QueryRunner { const foreignKeysSql = table.foreignKeys.map(fk => { const columnNames = fk.columnNames.map(columnName => `\`${columnName}\``).join(", "); if (!fk.name) - fk.name = this.connection.namingStrategy.foreignKeyName(table.name, fk.columnNames, fk.referencedTableName, fk.referencedColumnNames); + fk.name = this.connection.namingStrategy.foreignKeyName(table, fk.columnNames, fk.referencedTableName, fk.referencedColumnNames); const referencedColumnNames = fk.referencedColumnNames.map(columnName => `\`${columnName}\``).join(", "); let constraint = `CONSTRAINT \`${fk.name}\` FOREIGN KEY (${columnNames}) REFERENCES ${this.escapePath(fk.referencedTableName)} (${referencedColumnNames})`; diff --git a/src/driver/oracle/OracleQueryRunner.ts b/src/driver/oracle/OracleQueryRunner.ts index f56f44fb06..ac6e54647e 100644 --- a/src/driver/oracle/OracleQueryRunner.ts +++ b/src/driver/oracle/OracleQueryRunner.ts @@ -374,7 +374,7 @@ export class OracleQueryRunner extends BaseQueryRunner implements QueryRunner { table.indices.forEach(index => { // new index may be passed without name. In this case we generate index name manually. if (!index.name) - index.name = this.connection.namingStrategy.indexName(table.name, index.columnNames, index.where); + index.name = this.connection.namingStrategy.indexName(table, index.columnNames, index.where); upQueries.push(this.createIndexSql(table, index)); downQueries.push(this.dropIndexSql(index)); }); @@ -539,14 +539,14 @@ export class OracleQueryRunner extends BaseQueryRunner implements QueryRunner { const primaryColumns = clonedTable.primaryColumns; // if table already have primary key, me must drop it and recreate again if (primaryColumns.length > 0) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); } primaryColumns.push(column); - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); @@ -563,7 +563,7 @@ export class OracleQueryRunner extends BaseQueryRunner implements QueryRunner { // create unique constraint if (column.isUnique) { const uniqueConstraint = new TableUnique({ - name: this.connection.namingStrategy.uniqueConstraintName(table.name, [column.name]), + name: this.connection.namingStrategy.uniqueConstraintName(table, [column.name]), columnNames: [column.name] }); clonedTable.uniques.push(uniqueConstraint); @@ -747,7 +747,7 @@ export class OracleQueryRunner extends BaseQueryRunner implements QueryRunner { // if primary column state changed, we must always drop existed constraint. if (primaryColumns.length > 0) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); @@ -758,7 +758,7 @@ export class OracleQueryRunner extends BaseQueryRunner implements QueryRunner { // update column in table const column = clonedTable.columns.find(column => column.name === newColumn.name); column!.isPrimary = true; - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); @@ -773,7 +773,7 @@ export class OracleQueryRunner extends BaseQueryRunner implements QueryRunner { // if we have another primary keys, we must recreate constraint. if (primaryColumns.length > 0) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); @@ -784,7 +784,7 @@ export class OracleQueryRunner extends BaseQueryRunner implements QueryRunner { if (newColumn.isUnique !== oldColumn.isUnique) { if (newColumn.isUnique === true) { const uniqueConstraint = new TableUnique({ - name: this.connection.namingStrategy.uniqueConstraintName(table.name, [newColumn.name]), + name: this.connection.namingStrategy.uniqueConstraintName(table, [newColumn.name]), columnNames: [newColumn.name] }); clonedTable.uniques.push(uniqueConstraint); @@ -830,7 +830,7 @@ export class OracleQueryRunner extends BaseQueryRunner implements QueryRunner { // drop primary key constraint if (column.isPrimary) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, clonedTable.primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, clonedTable.primaryColumns.map(column => column.name)); const columnNames = clonedTable.primaryColumns.map(primaryColumn => `"${primaryColumn.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(clonedTable)} DROP CONSTRAINT "${pkName}"`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(clonedTable)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); @@ -841,7 +841,7 @@ export class OracleQueryRunner extends BaseQueryRunner implements QueryRunner { // if primary key have multiple columns, we must recreate it without dropped column if (clonedTable.primaryColumns.length > 0) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, clonedTable.primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, clonedTable.primaryColumns.map(column => column.name)); const columnNames = clonedTable.primaryColumns.map(primaryColumn => `"${primaryColumn.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(clonedTable)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(clonedTable)} DROP CONSTRAINT "${pkName}"`)); @@ -922,7 +922,7 @@ export class OracleQueryRunner extends BaseQueryRunner implements QueryRunner { // if table already have primary columns, we must drop them. const primaryColumns = clonedTable.primaryColumns; if (primaryColumns.length > 0) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNamesString = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNamesString})`)); @@ -933,7 +933,7 @@ export class OracleQueryRunner extends BaseQueryRunner implements QueryRunner { .filter(column => columnNames.indexOf(column.name) !== -1) .forEach(column => column.isPrimary = true); - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, columnNames); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, columnNames); const columnNamesString = columnNames.map(columnName => `"${columnName}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNamesString})`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); @@ -963,7 +963,7 @@ export class OracleQueryRunner extends BaseQueryRunner implements QueryRunner { // new unique constraint may be passed without name. In this case we generate unique name manually. if (!uniqueConstraint.name) - uniqueConstraint.name = this.connection.namingStrategy.uniqueConstraintName(table.name, uniqueConstraint.columnNames); + uniqueConstraint.name = this.connection.namingStrategy.uniqueConstraintName(table, uniqueConstraint.columnNames); const up = this.createUniqueConstraintSql(table, uniqueConstraint); const down = this.dropUniqueConstraintSql(table, uniqueConstraint); @@ -1010,7 +1010,7 @@ export class OracleQueryRunner extends BaseQueryRunner implements QueryRunner { // new unique constraint may be passed without name. In this case we generate unique name manually. if (!checkConstraint.name) - checkConstraint.name = this.connection.namingStrategy.checkConstraintName(table.name, checkConstraint.expression!); + checkConstraint.name = this.connection.namingStrategy.checkConstraintName(table, checkConstraint.expression!); const up = this.createCheckConstraintSql(table, checkConstraint); const down = this.dropCheckConstraintSql(table, checkConstraint); @@ -1085,7 +1085,7 @@ export class OracleQueryRunner extends BaseQueryRunner implements QueryRunner { // new FK may be passed without name. In this case we generate FK name manually. if (!foreignKey.name) - foreignKey.name = this.connection.namingStrategy.foreignKeyName(table.name, foreignKey.columnNames, foreignKey.referencedTableName, foreignKey.referencedColumnNames); + foreignKey.name = this.connection.namingStrategy.foreignKeyName(table, foreignKey.columnNames, foreignKey.referencedTableName, foreignKey.referencedColumnNames); const up = this.createForeignKeySql(table, foreignKey); const down = this.dropForeignKeySql(table, foreignKey); @@ -1132,7 +1132,7 @@ export class OracleQueryRunner extends BaseQueryRunner implements QueryRunner { // new index may be passed without name. In this case we generate index name manually. if (!index.name) - index.name = this.connection.namingStrategy.indexName(table.name, index.columnNames, index.where); + index.name = this.connection.namingStrategy.indexName(table, index.columnNames, index.where); const up = this.createIndexSql(table, index); const down = this.dropIndexSql(index); @@ -1475,14 +1475,14 @@ export class OracleQueryRunner extends BaseQueryRunner implements QueryRunner { const isUniqueExist = table.uniques.some(unique => unique.columnNames.length === 1 && unique.columnNames[0] === column.name); if (!isUniqueExist) table.uniques.push(new TableUnique({ - name: this.connection.namingStrategy.uniqueConstraintName(table.name, [column.name]), + name: this.connection.namingStrategy.uniqueConstraintName(table, [column.name]), columnNames: [column.name] })); }); if (table.uniques.length > 0) { const uniquesSql = table.uniques.map(unique => { - const uniqueName = unique.name ? unique.name : this.connection.namingStrategy.uniqueConstraintName(table.name, unique.columnNames); + const uniqueName = unique.name ? unique.name : this.connection.namingStrategy.uniqueConstraintName(table, unique.columnNames); const columnNames = unique.columnNames.map(columnName => `"${columnName}"`).join(", "); return `CONSTRAINT "${uniqueName}" UNIQUE (${columnNames})`; }).join(", "); @@ -1492,7 +1492,7 @@ export class OracleQueryRunner extends BaseQueryRunner implements QueryRunner { if (table.checks.length > 0) { const checksSql = table.checks.map(check => { - const checkName = check.name ? check.name : this.connection.namingStrategy.checkConstraintName(table.name, check.expression!); + const checkName = check.name ? check.name : this.connection.namingStrategy.checkConstraintName(table, check.expression!); return `CONSTRAINT "${checkName}" CHECK (${check.expression})`; }).join(", "); @@ -1503,7 +1503,7 @@ export class OracleQueryRunner extends BaseQueryRunner implements QueryRunner { const foreignKeysSql = table.foreignKeys.map(fk => { const columnNames = fk.columnNames.map(columnName => `"${columnName}"`).join(", "); if (!fk.name) - fk.name = this.connection.namingStrategy.foreignKeyName(table.name, fk.columnNames, fk.referencedTableName, fk.referencedColumnNames); + fk.name = this.connection.namingStrategy.foreignKeyName(table, fk.columnNames, fk.referencedTableName, fk.referencedColumnNames); const referencedColumnNames = fk.referencedColumnNames.map(columnName => `"${columnName}"`).join(", "); let constraint = `CONSTRAINT "${fk.name}" FOREIGN KEY (${columnNames}) REFERENCES "${fk.referencedTableName}" (${referencedColumnNames})`; if (fk.onDelete && fk.onDelete !== "NO ACTION") // Oracle does not support NO ACTION, but we set NO ACTION by default in EntityMetadata @@ -1517,7 +1517,7 @@ export class OracleQueryRunner extends BaseQueryRunner implements QueryRunner { const primaryColumns = table.columns.filter(column => column.isPrimary); if (primaryColumns.length > 0) { - const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table.name, primaryColumns.map(column => column.name)); + const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); sql += `, CONSTRAINT "${primaryKeyName}" PRIMARY KEY (${columnNames})`; } @@ -1599,7 +1599,7 @@ export class OracleQueryRunner extends BaseQueryRunner implements QueryRunner { * Builds create primary key sql. */ protected createPrimaryKeySql(table: Table, columnNames: string[]): Query { - const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table.name, columnNames); + const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table, columnNames); const columnNamesString = columnNames.map(columnName => `"${columnName}"`).join(", "); return new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${primaryKeyName}" PRIMARY KEY (${columnNamesString})`); } @@ -1609,7 +1609,7 @@ export class OracleQueryRunner extends BaseQueryRunner implements QueryRunner { */ protected dropPrimaryKeySql(table: Table): Query { const columnNames = table.primaryColumns.map(column => column.name); - const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table.name, columnNames); + const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table, columnNames); return new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${primaryKeyName}"`); } diff --git a/src/driver/postgres/PostgresQueryRunner.ts b/src/driver/postgres/PostgresQueryRunner.ts index f2c20cd3e0..256f2d48b6 100644 --- a/src/driver/postgres/PostgresQueryRunner.ts +++ b/src/driver/postgres/PostgresQueryRunner.ts @@ -434,7 +434,7 @@ export class PostgresQueryRunner extends BaseQueryRunner implements QueryRunner // new index may be passed without name. In this case we generate index name manually. if (!index.name) - index.name = this.connection.namingStrategy.indexName(table.name, index.columnNames, index.where); + index.name = this.connection.namingStrategy.indexName(table, index.columnNames, index.where); upQueries.push(this.createIndexSql(table, index)); downQueries.push(this.dropIndexSql(table, index)); }); @@ -628,14 +628,14 @@ export class PostgresQueryRunner extends BaseQueryRunner implements QueryRunner const primaryColumns = clonedTable.primaryColumns; // if table already have primary key, me must drop it and recreate again if (primaryColumns.length > 0) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); } primaryColumns.push(column); - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); @@ -651,7 +651,7 @@ export class PostgresQueryRunner extends BaseQueryRunner implements QueryRunner // create unique constraint if (column.isUnique) { const uniqueConstraint = new TableUnique({ - name: this.connection.namingStrategy.uniqueConstraintName(table.name, [column.name]), + name: this.connection.namingStrategy.uniqueConstraintName(table, [column.name]), columnNames: [column.name] }); clonedTable.uniques.push(uniqueConstraint); @@ -907,7 +907,7 @@ export class PostgresQueryRunner extends BaseQueryRunner implements QueryRunner // if primary column state changed, we must always drop existed constraint. if (primaryColumns.length > 0) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); @@ -918,7 +918,7 @@ export class PostgresQueryRunner extends BaseQueryRunner implements QueryRunner // update column in table const column = clonedTable.columns.find(column => column.name === newColumn.name); column!.isPrimary = true; - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); @@ -933,7 +933,7 @@ export class PostgresQueryRunner extends BaseQueryRunner implements QueryRunner // if we have another primary keys, we must recreate constraint. if (primaryColumns.length > 0) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); @@ -944,7 +944,7 @@ export class PostgresQueryRunner extends BaseQueryRunner implements QueryRunner if (newColumn.isUnique !== oldColumn.isUnique) { if (newColumn.isUnique === true) { const uniqueConstraint = new TableUnique({ - name: this.connection.namingStrategy.uniqueConstraintName(table.name, [newColumn.name]), + name: this.connection.namingStrategy.uniqueConstraintName(table, [newColumn.name]), columnNames: [newColumn.name] }); clonedTable.uniques.push(uniqueConstraint); @@ -1030,7 +1030,7 @@ export class PostgresQueryRunner extends BaseQueryRunner implements QueryRunner // drop primary key constraint if (column.isPrimary) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, clonedTable.primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, clonedTable.primaryColumns.map(column => column.name)); const columnNames = clonedTable.primaryColumns.map(primaryColumn => `"${primaryColumn.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(clonedTable)} DROP CONSTRAINT "${pkName}"`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(clonedTable)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); @@ -1041,7 +1041,7 @@ export class PostgresQueryRunner extends BaseQueryRunner implements QueryRunner // if primary key have multiple columns, we must recreate it without dropped column if (clonedTable.primaryColumns.length > 0) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, clonedTable.primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, clonedTable.primaryColumns.map(column => column.name)); const columnNames = clonedTable.primaryColumns.map(primaryColumn => `"${primaryColumn.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(clonedTable)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(clonedTable)} DROP CONSTRAINT "${pkName}"`)); @@ -1134,7 +1134,7 @@ export class PostgresQueryRunner extends BaseQueryRunner implements QueryRunner // if table already have primary columns, we must drop them. const primaryColumns = clonedTable.primaryColumns; if (primaryColumns.length > 0) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNamesString = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNamesString})`)); @@ -1145,7 +1145,7 @@ export class PostgresQueryRunner extends BaseQueryRunner implements QueryRunner .filter(column => columnNames.indexOf(column.name) !== -1) .forEach(column => column.isPrimary = true); - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, columnNames); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, columnNames); const columnNamesString = columnNames.map(columnName => `"${columnName}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNamesString})`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); @@ -1175,7 +1175,7 @@ export class PostgresQueryRunner extends BaseQueryRunner implements QueryRunner // new unique constraint may be passed without name. In this case we generate unique name manually. if (!uniqueConstraint.name) - uniqueConstraint.name = this.connection.namingStrategy.uniqueConstraintName(table.name, uniqueConstraint.columnNames); + uniqueConstraint.name = this.connection.namingStrategy.uniqueConstraintName(table, uniqueConstraint.columnNames); const up = this.createUniqueConstraintSql(table, uniqueConstraint); const down = this.dropUniqueConstraintSql(table, uniqueConstraint); @@ -1224,7 +1224,7 @@ export class PostgresQueryRunner extends BaseQueryRunner implements QueryRunner // new unique constraint may be passed without name. In this case we generate unique name manually. if (!checkConstraint.name) - checkConstraint.name = this.connection.namingStrategy.checkConstraintName(table.name, checkConstraint.expression!); + checkConstraint.name = this.connection.namingStrategy.checkConstraintName(table, checkConstraint.expression!); const up = this.createCheckConstraintSql(table, checkConstraint); const down = this.dropCheckConstraintSql(table, checkConstraint); @@ -1271,7 +1271,7 @@ export class PostgresQueryRunner extends BaseQueryRunner implements QueryRunner // new unique constraint may be passed without name. In this case we generate unique name manually. if (!exclusionConstraint.name) - exclusionConstraint.name = this.connection.namingStrategy.exclusionConstraintName(table.name, exclusionConstraint.expression!); + exclusionConstraint.name = this.connection.namingStrategy.exclusionConstraintName(table, exclusionConstraint.expression!); const up = this.createExclusionConstraintSql(table, exclusionConstraint); const down = this.dropExclusionConstraintSql(table, exclusionConstraint); @@ -1318,7 +1318,7 @@ export class PostgresQueryRunner extends BaseQueryRunner implements QueryRunner // new FK may be passed without name. In this case we generate FK name manually. if (!foreignKey.name) - foreignKey.name = this.connection.namingStrategy.foreignKeyName(table.name, foreignKey.columnNames, foreignKey.referencedTableName, foreignKey.referencedColumnNames); + foreignKey.name = this.connection.namingStrategy.foreignKeyName(table, foreignKey.columnNames, foreignKey.referencedTableName, foreignKey.referencedColumnNames); const up = this.createForeignKeySql(table, foreignKey); const down = this.dropForeignKeySql(table, foreignKey); @@ -1367,7 +1367,7 @@ export class PostgresQueryRunner extends BaseQueryRunner implements QueryRunner // new index may be passed without name. In this case we generate index name manually. if (!index.name) - index.name = this.connection.namingStrategy.indexName(table.name, index.columnNames, index.where); + index.name = this.connection.namingStrategy.indexName(table, index.columnNames, index.where); const up = this.createIndexSql(table, index); const down = this.dropIndexSql(table, index); @@ -1920,14 +1920,14 @@ export class PostgresQueryRunner extends BaseQueryRunner implements QueryRunner const isUniqueExist = table.uniques.some(unique => unique.columnNames.length === 1 && unique.columnNames[0] === column.name); if (!isUniqueExist) table.uniques.push(new TableUnique({ - name: this.connection.namingStrategy.uniqueConstraintName(table.name, [column.name]), + name: this.connection.namingStrategy.uniqueConstraintName(table, [column.name]), columnNames: [column.name] })); }); if (table.uniques.length > 0) { const uniquesSql = table.uniques.map(unique => { - const uniqueName = unique.name ? unique.name : this.connection.namingStrategy.uniqueConstraintName(table.name, unique.columnNames); + const uniqueName = unique.name ? unique.name : this.connection.namingStrategy.uniqueConstraintName(table, unique.columnNames); const columnNames = unique.columnNames.map(columnName => `"${columnName}"`).join(", "); return `CONSTRAINT "${uniqueName}" UNIQUE (${columnNames})`; }).join(", "); @@ -1937,7 +1937,7 @@ export class PostgresQueryRunner extends BaseQueryRunner implements QueryRunner if (table.checks.length > 0) { const checksSql = table.checks.map(check => { - const checkName = check.name ? check.name : this.connection.namingStrategy.checkConstraintName(table.name, check.expression!); + const checkName = check.name ? check.name : this.connection.namingStrategy.checkConstraintName(table, check.expression!); return `CONSTRAINT "${checkName}" CHECK (${check.expression})`; }).join(", "); @@ -1946,7 +1946,7 @@ export class PostgresQueryRunner extends BaseQueryRunner implements QueryRunner if (table.exclusions.length > 0) { const exclusionsSql = table.exclusions.map(exclusion => { - const exclusionName = exclusion.name ? exclusion.name : this.connection.namingStrategy.exclusionConstraintName(table.name, exclusion.expression!); + const exclusionName = exclusion.name ? exclusion.name : this.connection.namingStrategy.exclusionConstraintName(table, exclusion.expression!); return `CONSTRAINT "${exclusionName}" EXCLUDE ${exclusion.expression}`; }).join(", "); @@ -1957,7 +1957,7 @@ export class PostgresQueryRunner extends BaseQueryRunner implements QueryRunner const foreignKeysSql = table.foreignKeys.map(fk => { const columnNames = fk.columnNames.map(columnName => `"${columnName}"`).join(", "); if (!fk.name) - fk.name = this.connection.namingStrategy.foreignKeyName(table.name, fk.columnNames, fk.referencedTableName, fk.referencedColumnNames); + fk.name = this.connection.namingStrategy.foreignKeyName(table, fk.columnNames, fk.referencedTableName, fk.referencedColumnNames); const referencedColumnNames = fk.referencedColumnNames.map(columnName => `"${columnName}"`).join(", "); let constraint = `CONSTRAINT "${fk.name}" FOREIGN KEY (${columnNames}) REFERENCES ${this.escapePath(fk.referencedTableName)} (${referencedColumnNames})`; @@ -1976,7 +1976,7 @@ export class PostgresQueryRunner extends BaseQueryRunner implements QueryRunner const primaryColumns = table.columns.filter(column => column.isPrimary); if (primaryColumns.length > 0) { - const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table.name, primaryColumns.map(column => column.name)); + const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); sql += `, CONSTRAINT "${primaryKeyName}" PRIMARY KEY (${columnNames})`; } @@ -2133,7 +2133,7 @@ export class PostgresQueryRunner extends BaseQueryRunner implements QueryRunner * Builds create primary key sql. */ protected createPrimaryKeySql(table: Table, columnNames: string[]): Query { - const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table.name, columnNames); + const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table, columnNames); const columnNamesString = columnNames.map(columnName => `"${columnName}"`).join(", "); return new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${primaryKeyName}" PRIMARY KEY (${columnNamesString})`); } @@ -2143,7 +2143,7 @@ export class PostgresQueryRunner extends BaseQueryRunner implements QueryRunner */ protected dropPrimaryKeySql(table: Table): Query { const columnNames = table.primaryColumns.map(column => column.name); - const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table.name, columnNames); + const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table, columnNames); return new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${primaryKeyName}"`); } diff --git a/src/driver/sap/SapQueryRunner.ts b/src/driver/sap/SapQueryRunner.ts index cfefb1a86d..328cc48a6f 100644 --- a/src/driver/sap/SapQueryRunner.ts +++ b/src/driver/sap/SapQueryRunner.ts @@ -396,7 +396,7 @@ export class SapQueryRunner extends BaseQueryRunner implements QueryRunner { // new index may be passed without name. In this case we generate index name manually. if (!index.name) - index.name = this.connection.namingStrategy.indexName(table.name, index.columnNames, index.where); + index.name = this.connection.namingStrategy.indexName(table, index.columnNames, index.where); upQueries.push(this.createIndexSql(table, index)); downQueries.push(this.dropIndexSql(table, index)); }); @@ -629,7 +629,7 @@ export class SapQueryRunner extends BaseQueryRunner implements QueryRunner { }); } - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); @@ -643,7 +643,7 @@ export class SapQueryRunner extends BaseQueryRunner implements QueryRunner { } primaryColumns.push(column); - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); @@ -657,7 +657,7 @@ export class SapQueryRunner extends BaseQueryRunner implements QueryRunner { } else if (column.isUnique) { const uniqueIndex = new TableIndex({ - name: this.connection.namingStrategy.indexName(table.name, [column.name]), + name: this.connection.namingStrategy.indexName(table, [column.name]), columnNames: [column.name], isUnique: true }); @@ -830,7 +830,7 @@ export class SapQueryRunner extends BaseQueryRunner implements QueryRunner { // if primary column state changed, we must always drop existed constraint. if (primaryColumns.length > 0) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); @@ -841,7 +841,7 @@ export class SapQueryRunner extends BaseQueryRunner implements QueryRunner { // update column in table const column = clonedTable.columns.find(column => column.name === newColumn.name); column!.isPrimary = true; - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); @@ -856,7 +856,7 @@ export class SapQueryRunner extends BaseQueryRunner implements QueryRunner { // if we have another primary keys, we must recreate constraint. if (primaryColumns.length > 0) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); @@ -867,7 +867,7 @@ export class SapQueryRunner extends BaseQueryRunner implements QueryRunner { if (newColumn.isUnique !== oldColumn.isUnique) { if (newColumn.isUnique === true) { const uniqueIndex = new TableIndex({ - name: this.connection.namingStrategy.indexName(table.name, [newColumn.name]), + name: this.connection.namingStrategy.indexName(table, [newColumn.name]), columnNames: [newColumn.name], isUnique: true }); @@ -968,7 +968,7 @@ export class SapQueryRunner extends BaseQueryRunner implements QueryRunner { }); } - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, clonedTable.primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, clonedTable.primaryColumns.map(column => column.name)); const columnNames = clonedTable.primaryColumns.map(primaryColumn => `"${primaryColumn.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(clonedTable)} DROP CONSTRAINT "${pkName}"`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(clonedTable)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); @@ -979,7 +979,7 @@ export class SapQueryRunner extends BaseQueryRunner implements QueryRunner { // if primary key have multiple columns, we must recreate it without dropped column if (clonedTable.primaryColumns.length > 0) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, clonedTable.primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, clonedTable.primaryColumns.map(column => column.name)); const columnNames = clonedTable.primaryColumns.map(primaryColumn => `"${primaryColumn.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(clonedTable)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(clonedTable)} DROP CONSTRAINT "${pkName}"`)); @@ -1002,7 +1002,7 @@ export class SapQueryRunner extends BaseQueryRunner implements QueryRunner { } else if (column.isUnique) { // we splice constraints both from table uniques and indices. - const uniqueName = this.connection.namingStrategy.uniqueConstraintName(table.name, [column.name]); + const uniqueName = this.connection.namingStrategy.uniqueConstraintName(table, [column.name]); const foundUnique = clonedTable.uniques.find(unique => unique.name === uniqueName); if (foundUnique) { clonedTable.uniques.splice(clonedTable.uniques.indexOf(foundUnique), 1); @@ -1010,7 +1010,7 @@ export class SapQueryRunner extends BaseQueryRunner implements QueryRunner { downQueries.push(new Query(`CREATE UNIQUE INDEX "${uniqueName}" ON ${this.escapePath(table)} ("${column.name}")`)); } - const indexName = this.connection.namingStrategy.indexName(table.name, [column.name]); + const indexName = this.connection.namingStrategy.indexName(table, [column.name]); const foundIndex = clonedTable.indices.find(index => index.name === indexName); if (foundIndex) { clonedTable.indices.splice(clonedTable.indices.indexOf(foundIndex), 1); @@ -1108,7 +1108,7 @@ export class SapQueryRunner extends BaseQueryRunner implements QueryRunner { // if table already have primary columns, we must drop them. const primaryColumns = clonedTable.primaryColumns; if (primaryColumns.length > 0) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNamesString = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNamesString})`)); @@ -1119,7 +1119,7 @@ export class SapQueryRunner extends BaseQueryRunner implements QueryRunner { .filter(column => columnNames.indexOf(column.name) !== -1) .forEach(column => column.isPrimary = true); - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, columnNames); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, columnNames); const columnNamesString = columnNames.map(columnName => `"${columnName}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNamesString})`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); @@ -1225,7 +1225,7 @@ export class SapQueryRunner extends BaseQueryRunner implements QueryRunner { // new unique constraint may be passed without name. In this case we generate unique name manually. if (!checkConstraint.name) - checkConstraint.name = this.connection.namingStrategy.checkConstraintName(table.name, checkConstraint.expression!); + checkConstraint.name = this.connection.namingStrategy.checkConstraintName(table, checkConstraint.expression!); const up = this.createCheckConstraintSql(table, checkConstraint); const down = this.dropCheckConstraintSql(table, checkConstraint); @@ -1300,7 +1300,7 @@ export class SapQueryRunner extends BaseQueryRunner implements QueryRunner { // new FK may be passed without name. In this case we generate FK name manually. if (!foreignKey.name) - foreignKey.name = this.connection.namingStrategy.foreignKeyName(table.name, foreignKey.columnNames, foreignKey.referencedTableName, foreignKey.referencedColumnNames); + foreignKey.name = this.connection.namingStrategy.foreignKeyName(table, foreignKey.columnNames, foreignKey.referencedTableName, foreignKey.referencedColumnNames); const up = this.createForeignKeySql(table, foreignKey); const down = this.dropForeignKeySql(table, foreignKey); @@ -1347,7 +1347,7 @@ export class SapQueryRunner extends BaseQueryRunner implements QueryRunner { // new index may be passed without name. In this case we generate index name manually. if (!index.name) - index.name = this.connection.namingStrategy.indexName(table.name, index.columnNames, index.where); + index.name = this.connection.namingStrategy.indexName(table, index.columnNames, index.where); const up = this.createIndexSql(table, index); const down = this.dropIndexSql(table, index); @@ -1726,7 +1726,7 @@ export class SapQueryRunner extends BaseQueryRunner implements QueryRunner { }); if (!isUniqueIndexExist && !isUniqueConstraintExist) table.indices.push(new TableIndex({ - name: this.connection.namingStrategy.uniqueConstraintName(table.name, [column.name]), + name: this.connection.namingStrategy.uniqueConstraintName(table, [column.name]), columnNames: [column.name], isUnique: true })); @@ -1748,7 +1748,7 @@ export class SapQueryRunner extends BaseQueryRunner implements QueryRunner { if (table.checks.length > 0) { const checksSql = table.checks.map(check => { - const checkName = check.name ? check.name : this.connection.namingStrategy.checkConstraintName(table.name, check.expression!); + const checkName = check.name ? check.name : this.connection.namingStrategy.checkConstraintName(table, check.expression!); return `CONSTRAINT "${checkName}" CHECK (${check.expression})`; }).join(", "); @@ -1759,7 +1759,7 @@ export class SapQueryRunner extends BaseQueryRunner implements QueryRunner { const foreignKeysSql = table.foreignKeys.map(fk => { const columnNames = fk.columnNames.map(columnName => `"${columnName}"`).join(", "); if (!fk.name) - fk.name = this.connection.namingStrategy.foreignKeyName(table.name, fk.columnNames, fk.referencedTableName, fk.referencedColumnNames); + fk.name = this.connection.namingStrategy.foreignKeyName(table, fk.columnNames, fk.referencedTableName, fk.referencedColumnNames); const referencedColumnNames = fk.referencedColumnNames.map(columnName => `"${columnName}"`).join(", "); let constraint = `CONSTRAINT "${fk.name}" FOREIGN KEY (${columnNames}) REFERENCES ${this.escapePath(fk.referencedTableName)} (${referencedColumnNames})`; @@ -1781,7 +1781,7 @@ export class SapQueryRunner extends BaseQueryRunner implements QueryRunner { const primaryColumns = table.columns.filter(column => column.isPrimary); if (primaryColumns.length > 0) { - const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table.name, primaryColumns.map(column => column.name)); + const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); sql += `, CONSTRAINT "${primaryKeyName}" PRIMARY KEY (${columnNames})`; } @@ -1900,7 +1900,7 @@ export class SapQueryRunner extends BaseQueryRunner implements QueryRunner { * Builds create primary key sql. */ protected createPrimaryKeySql(table: Table, columnNames: string[]): Query { - const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table.name, columnNames); + const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table, columnNames); const columnNamesString = columnNames.map(columnName => `"${columnName}"`).join(", "); return new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${primaryKeyName}" PRIMARY KEY (${columnNamesString})`); } @@ -1910,7 +1910,7 @@ export class SapQueryRunner extends BaseQueryRunner implements QueryRunner { */ protected dropPrimaryKeySql(table: Table): Query { const columnNames = table.primaryColumns.map(column => column.name); - const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table.name, columnNames); + const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table, columnNames); return new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${primaryKeyName}"`); } diff --git a/src/driver/sqlite-abstract/AbstractSqliteQueryRunner.ts b/src/driver/sqlite-abstract/AbstractSqliteQueryRunner.ts index 63c9b077f6..df4cade896 100644 --- a/src/driver/sqlite-abstract/AbstractSqliteQueryRunner.ts +++ b/src/driver/sqlite-abstract/AbstractSqliteQueryRunner.ts @@ -256,7 +256,7 @@ export abstract class AbstractSqliteQueryRunner extends BaseQueryRunner implemen // new index may be passed without name. In this case we generate index name manually. if (!index.name) - index.name = this.connection.namingStrategy.indexName(table.name, index.columnNames, index.where); + index.name = this.connection.namingStrategy.indexName(table, index.columnNames, index.where); upQueries.push(this.createIndexSql(table, index)); downQueries.push(this.dropIndexSql(index)); }); @@ -696,7 +696,7 @@ export abstract class AbstractSqliteQueryRunner extends BaseQueryRunner implemen // new index may be passed without name. In this case we generate index name manually. if (!index.name) - index.name = this.connection.namingStrategy.indexName(table.name, index.columnNames, index.where); + index.name = this.connection.namingStrategy.indexName(table, index.columnNames, index.where); const up = this.createIndexSql(table, index); const down = this.dropIndexSql(index); @@ -1039,14 +1039,14 @@ export abstract class AbstractSqliteQueryRunner extends BaseQueryRunner implemen const isUniqueExist = table.uniques.some(unique => unique.columnNames.length === 1 && unique.columnNames[0] === column.name); if (!isUniqueExist) table.uniques.push(new TableUnique({ - name: this.connection.namingStrategy.uniqueConstraintName(table.name, [column.name]), + name: this.connection.namingStrategy.uniqueConstraintName(table, [column.name]), columnNames: [column.name] })); }); if (table.uniques.length > 0) { const uniquesSql = table.uniques.map(unique => { - const uniqueName = unique.name ? unique.name : this.connection.namingStrategy.uniqueConstraintName(table.name, unique.columnNames); + const uniqueName = unique.name ? unique.name : this.connection.namingStrategy.uniqueConstraintName(table, unique.columnNames); const columnNames = unique.columnNames.map(columnName => `"${columnName}"`).join(", "); return `CONSTRAINT "${uniqueName}" UNIQUE (${columnNames})`; }).join(", "); @@ -1056,7 +1056,7 @@ export abstract class AbstractSqliteQueryRunner extends BaseQueryRunner implemen if (table.checks.length > 0) { const checksSql = table.checks.map(check => { - const checkName = check.name ? check.name : this.connection.namingStrategy.checkConstraintName(table.name, check.expression!); + const checkName = check.name ? check.name : this.connection.namingStrategy.checkConstraintName(table, check.expression!); return `CONSTRAINT "${checkName}" CHECK (${check.expression})`; }).join(", "); @@ -1067,7 +1067,7 @@ export abstract class AbstractSqliteQueryRunner extends BaseQueryRunner implemen const foreignKeysSql = table.foreignKeys.map(fk => { const columnNames = fk.columnNames.map(columnName => `"${columnName}"`).join(", "); if (!fk.name) - fk.name = this.connection.namingStrategy.foreignKeyName(table.name, fk.columnNames, fk.referencedTableName, fk.referencedColumnNames); + fk.name = this.connection.namingStrategy.foreignKeyName(table, fk.columnNames, fk.referencedTableName, fk.referencedColumnNames); const referencedColumnNames = fk.referencedColumnNames.map(columnName => `"${columnName}"`).join(", "); let constraint = `CONSTRAINT "${fk.name}" FOREIGN KEY (${columnNames}) REFERENCES "${fk.referencedTableName}" (${referencedColumnNames})`; @@ -1243,7 +1243,7 @@ export abstract class AbstractSqliteQueryRunner extends BaseQueryRunner implemen newTable.indices.forEach(index => { // new index may be passed without name. In this case we generate index name manually. if (!index.name) - index.name = this.connection.namingStrategy.indexName(newTable.name, index.columnNames, index.where); + index.name = this.connection.namingStrategy.indexName(newTable, index.columnNames, index.where); upQueries.push(this.createIndexSql(newTable, index)); downQueries.push(this.dropIndexSql(index)); }); diff --git a/src/driver/sqlserver/SqlServerQueryRunner.ts b/src/driver/sqlserver/SqlServerQueryRunner.ts index f457496ef6..177608a3c5 100644 --- a/src/driver/sqlserver/SqlServerQueryRunner.ts +++ b/src/driver/sqlserver/SqlServerQueryRunner.ts @@ -496,7 +496,7 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner // new index may be passed without name. In this case we generate index name manually. if (!index.name) - index.name = this.connection.namingStrategy.indexName(table.name, index.columnNames, index.where); + index.name = this.connection.namingStrategy.indexName(table, index.columnNames, index.where); upQueries.push(this.createIndexSql(table, index)); downQueries.push(this.dropIndexSql(table, index)); }); @@ -692,14 +692,14 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner const primaryColumns = clonedTable.primaryColumns; // if table already have primary key, me must drop it and recreate again if (primaryColumns.length > 0) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); } primaryColumns.push(column); - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); @@ -715,7 +715,7 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner // create unique constraint if (column.isUnique) { const uniqueConstraint = new TableUnique({ - name: this.connection.namingStrategy.uniqueConstraintName(table.name, [column.name]), + name: this.connection.namingStrategy.uniqueConstraintName(table, [column.name]), columnNames: [column.name] }); clonedTable.uniques.push(uniqueConstraint); @@ -725,7 +725,7 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner // remove default constraint if (column.default !== null && column.default !== undefined) { - const defaultName = this.connection.namingStrategy.defaultConstraintName(table.name, column.name); + const defaultName = this.connection.namingStrategy.defaultConstraintName(table, column.name); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${defaultName}"`)); } @@ -897,8 +897,8 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner // rename default constraints if (oldColumn.default !== null && oldColumn.default !== undefined) { - const oldDefaultName = this.connection.namingStrategy.defaultConstraintName(table.name, oldColumn.name); - const newDefaultName = this.connection.namingStrategy.defaultConstraintName(table.name, newColumn.name); + const oldDefaultName = this.connection.namingStrategy.defaultConstraintName(table, oldColumn.name); + const newDefaultName = this.connection.namingStrategy.defaultConstraintName(table, newColumn.name); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${oldDefaultName}"`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${oldDefaultName}" DEFAULT ${oldColumn.default} FOR "${newColumn.name}"`)); @@ -929,7 +929,7 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner // if primary column state changed, we must always drop existed constraint. if (primaryColumns.length > 0) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); @@ -940,7 +940,7 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner // update column in table const column = clonedTable.columns.find(column => column.name === newColumn.name); column!.isPrimary = true; - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); @@ -955,7 +955,7 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner // if we have another primary keys, we must recreate constraint. if (primaryColumns.length > 0) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); @@ -966,7 +966,7 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner if (newColumn.isUnique !== oldColumn.isUnique) { if (newColumn.isUnique === true) { const uniqueConstraint = new TableUnique({ - name: this.connection.namingStrategy.uniqueConstraintName(table.name, [newColumn.name]), + name: this.connection.namingStrategy.uniqueConstraintName(table, [newColumn.name]), columnNames: [newColumn.name] }); clonedTable.uniques.push(uniqueConstraint); @@ -987,13 +987,13 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner // (note) if there is a previous default, we need to drop its constraint first if (oldColumn.default !== null && oldColumn.default !== undefined) { - const defaultName = this.connection.namingStrategy.defaultConstraintName(table.name, oldColumn.name); + const defaultName = this.connection.namingStrategy.defaultConstraintName(table, oldColumn.name); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${defaultName}"`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${defaultName}" DEFAULT ${oldColumn.default} FOR "${oldColumn.name}"`)); } if (newColumn.default !== null && newColumn.default !== undefined) { - const defaultName = this.connection.namingStrategy.defaultConstraintName(table.name, newColumn.name); + const defaultName = this.connection.namingStrategy.defaultConstraintName(table, newColumn.name); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${defaultName}" DEFAULT ${newColumn.default} FOR "${newColumn.name}"`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${defaultName}"`)); } @@ -1028,7 +1028,7 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner // drop primary key constraint if (column.isPrimary) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, clonedTable.primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, clonedTable.primaryColumns.map(column => column.name)); const columnNames = clonedTable.primaryColumns.map(primaryColumn => `"${primaryColumn.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(clonedTable)} DROP CONSTRAINT "${pkName}"`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(clonedTable)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); @@ -1039,7 +1039,7 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner // if primary key have multiple columns, we must recreate it without dropped column if (clonedTable.primaryColumns.length > 0) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, clonedTable.primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, clonedTable.primaryColumns.map(column => column.name)); const columnNames = clonedTable.primaryColumns.map(primaryColumn => `"${primaryColumn.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(clonedTable)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNames})`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(clonedTable)} DROP CONSTRAINT "${pkName}"`)); @@ -1072,7 +1072,7 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner // drop default constraint if (column.default !== null && column.default !== undefined) { - const defaultName = this.connection.namingStrategy.defaultConstraintName(table.name, column.name); + const defaultName = this.connection.namingStrategy.defaultConstraintName(table, column.name); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${defaultName}"`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${defaultName}" DEFAULT ${column.default} FOR "${column.name}"`)); } @@ -1128,7 +1128,7 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner // if table already have primary columns, we must drop them. const primaryColumns = clonedTable.primaryColumns; if (primaryColumns.length > 0) { - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, primaryColumns.map(column => column.name)); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, primaryColumns.map(column => column.name)); const columnNamesString = primaryColumns.map(column => `"${column.name}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNamesString})`)); @@ -1139,7 +1139,7 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner .filter(column => columnNames.indexOf(column.name) !== -1) .forEach(column => column.isPrimary = true); - const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable.name, columnNames); + const pkName = this.connection.namingStrategy.primaryKeyName(clonedTable, columnNames); const columnNamesString = columnNames.map(columnName => `"${columnName}"`).join(", "); upQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${pkName}" PRIMARY KEY (${columnNamesString})`)); downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${pkName}"`)); @@ -1169,7 +1169,7 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner // new unique constraint may be passed without name. In this case we generate unique name manually. if (!uniqueConstraint.name) - uniqueConstraint.name = this.connection.namingStrategy.uniqueConstraintName(table.name, uniqueConstraint.columnNames); + uniqueConstraint.name = this.connection.namingStrategy.uniqueConstraintName(table, uniqueConstraint.columnNames); const up = this.createUniqueConstraintSql(table, uniqueConstraint); const down = this.dropUniqueConstraintSql(table, uniqueConstraint); @@ -1216,7 +1216,7 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner // new unique constraint may be passed without name. In this case we generate unique name manually. if (!checkConstraint.name) - checkConstraint.name = this.connection.namingStrategy.checkConstraintName(table.name, checkConstraint.expression!); + checkConstraint.name = this.connection.namingStrategy.checkConstraintName(table, checkConstraint.expression!); const up = this.createCheckConstraintSql(table, checkConstraint); const down = this.dropCheckConstraintSql(table, checkConstraint); @@ -1295,7 +1295,7 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner // new FK may be passed without name. In this case we generate FK name manually. if (!foreignKey.name) - foreignKey.name = this.connection.namingStrategy.foreignKeyName(table.name, foreignKey.columnNames, foreignKey.referencedTableName, foreignKey.referencedColumnNames); + foreignKey.name = this.connection.namingStrategy.foreignKeyName(table, foreignKey.columnNames, foreignKey.referencedTableName, foreignKey.referencedColumnNames); const up = this.createForeignKeySql(table, foreignKey); const down = this.dropForeignKeySql(table, foreignKey); @@ -1342,7 +1342,7 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner // new index may be passed without name. In this case we generate index name manually. if (!index.name) - index.name = this.connection.namingStrategy.indexName(table.name, index.columnNames, index.where); + index.name = this.connection.namingStrategy.indexName(table, index.columnNames, index.where); const up = this.createIndexSql(table, index); const down = this.dropIndexSql(table, index); @@ -1903,14 +1903,14 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner const isUniqueExist = table.uniques.some(unique => unique.columnNames.length === 1 && unique.columnNames[0] === column.name); if (!isUniqueExist) table.uniques.push(new TableUnique({ - name: this.connection.namingStrategy.uniqueConstraintName(table.name, [column.name]), + name: this.connection.namingStrategy.uniqueConstraintName(table, [column.name]), columnNames: [column.name] })); }); if (table.uniques.length > 0) { const uniquesSql = table.uniques.map(unique => { - const uniqueName = unique.name ? unique.name : this.connection.namingStrategy.uniqueConstraintName(table.name, unique.columnNames); + const uniqueName = unique.name ? unique.name : this.connection.namingStrategy.uniqueConstraintName(table, unique.columnNames); const columnNames = unique.columnNames.map(columnName => `"${columnName}"`).join(", "); return `CONSTRAINT "${uniqueName}" UNIQUE (${columnNames})`; }).join(", "); @@ -1920,7 +1920,7 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner if (table.checks.length > 0) { const checksSql = table.checks.map(check => { - const checkName = check.name ? check.name : this.connection.namingStrategy.checkConstraintName(table.name, check.expression!); + const checkName = check.name ? check.name : this.connection.namingStrategy.checkConstraintName(table, check.expression!); return `CONSTRAINT "${checkName}" CHECK (${check.expression})`; }).join(", "); @@ -1931,7 +1931,7 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner const foreignKeysSql = table.foreignKeys.map(fk => { const columnNames = fk.columnNames.map(columnName => `"${columnName}"`).join(", "); if (!fk.name) - fk.name = this.connection.namingStrategy.foreignKeyName(table.name, fk.columnNames, fk.referencedTableName, fk.referencedColumnNames); + fk.name = this.connection.namingStrategy.foreignKeyName(table, fk.columnNames, fk.referencedTableName, fk.referencedColumnNames); const referencedColumnNames = fk.referencedColumnNames.map(columnName => `"${columnName}"`).join(", "); let constraint = `CONSTRAINT "${fk.name}" FOREIGN KEY (${columnNames}) REFERENCES ${this.escapePath(fk.referencedTableName)} (${referencedColumnNames})`; @@ -1948,7 +1948,7 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner const primaryColumns = table.columns.filter(column => column.isPrimary); if (primaryColumns.length > 0) { - const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table.name, primaryColumns.map(column => column.name)); + const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table, primaryColumns.map(column => column.name)); const columnNames = primaryColumns.map(column => `"${column.name}"`).join(", "); sql += `, CONSTRAINT "${primaryKeyName}" PRIMARY KEY (${columnNames})`; } @@ -2033,7 +2033,7 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner * Builds create primary key sql. */ protected createPrimaryKeySql(table: Table, columnNames: string[]): Query { - const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table.name, columnNames); + const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table, columnNames); const columnNamesString = columnNames.map(columnName => `"${columnName}"`).join(", "); return new Query(`ALTER TABLE ${this.escapePath(table)} ADD CONSTRAINT "${primaryKeyName}" PRIMARY KEY (${columnNamesString})`); } @@ -2043,7 +2043,7 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner */ protected dropPrimaryKeySql(table: Table): Query { const columnNames = table.primaryColumns.map(column => column.name); - const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table.name, columnNames); + const primaryKeyName = this.connection.namingStrategy.primaryKeyName(table, columnNames); return new Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${primaryKeyName}"`); } @@ -2200,13 +2200,13 @@ export class SqlServerQueryRunner extends BaseQueryRunner implements QueryRunner if (column.default !== undefined && column.default !== null && createDefault) { // we create named constraint to be able to delete this constraint when column been dropped - const defaultName = this.connection.namingStrategy.defaultConstraintName(table.name, column.name); + const defaultName = this.connection.namingStrategy.defaultConstraintName(table, column.name); c += ` CONSTRAINT "${defaultName}" DEFAULT ${column.default}`; } if (column.isGenerated && column.generationStrategy === "uuid" && !column.default) { // we create named constraint to be able to delete this constraint when column been dropped - const defaultName = this.connection.namingStrategy.defaultConstraintName(table.name, column.name); + const defaultName = this.connection.namingStrategy.defaultConstraintName(table, column.name); c += ` CONSTRAINT "${defaultName}" DEFAULT NEWSEQUENTIALID()`; } return c;