typeorm 0.3.8-dev.e49d0c8 → 0.3.8-dev.eb8f0c6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/browser/driver/postgres/PostgresQueryRunner.js +4 -4
  2. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  3. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +1 -1
  4. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +13 -9
  5. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  6. package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +6 -1
  7. package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  8. package/browser/entity-manager/EntityManager.js +1 -0
  9. package/browser/entity-manager/EntityManager.js.map +1 -1
  10. package/browser/persistence/SubjectTopoligicalSorter.js +5 -1
  11. package/browser/persistence/SubjectTopoligicalSorter.js.map +1 -1
  12. package/browser/query-builder/SelectQueryBuilder.d.ts +6 -0
  13. package/browser/query-builder/SelectQueryBuilder.js +6 -3
  14. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  15. package/browser/util/DateUtils.d.ts +1 -1
  16. package/browser/util/DateUtils.js +7 -8
  17. package/browser/util/DateUtils.js.map +1 -1
  18. package/driver/postgres/PostgresQueryRunner.js +4 -4
  19. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  20. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +1 -1
  21. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +13 -9
  22. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  23. package/driver/sqlserver/SqlServerConnectionOptions.d.ts +6 -1
  24. package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  25. package/entity-manager/EntityManager.js +1 -0
  26. package/entity-manager/EntityManager.js.map +1 -1
  27. package/package.json +1 -1
  28. package/persistence/SubjectTopoligicalSorter.js +5 -1
  29. package/persistence/SubjectTopoligicalSorter.js.map +1 -1
  30. package/query-builder/SelectQueryBuilder.d.ts +6 -0
  31. package/query-builder/SelectQueryBuilder.js +6 -3
  32. package/query-builder/SelectQueryBuilder.js.map +1 -1
  33. package/util/DateUtils.d.ts +1 -1
  34. package/util/DateUtils.js +7 -8
  35. package/util/DateUtils.js.map +1 -1
@@ -263,7 +263,7 @@ export declare abstract class AbstractSqliteQueryRunner extends BaseQueryRunner
263
263
  /**
264
264
  * Builds create table sql.
265
265
  */
266
- protected createTableSql(table: Table, createForeignKeys?: boolean): Query;
266
+ protected createTableSql(table: Table, createForeignKeys?: boolean, temporaryTable?: boolean): Query;
267
267
  /**
268
268
  * Builds drop table sql.
269
269
  */
@@ -995,10 +995,10 @@ export class AbstractSqliteQueryRunner extends BaseQueryRunner {
995
995
  }
996
996
  return tableColumn;
997
997
  }));
998
- // find unique constraints from CREATE TABLE sql
998
+ // find foreign key constraints from CREATE TABLE sql
999
999
  let fkResult;
1000
1000
  const fkMappings = [];
1001
- const fkRegex = /CONSTRAINT "([^"]*)" FOREIGN KEY \((.*?)\) REFERENCES "([^"]*)" /g;
1001
+ const fkRegex = /CONSTRAINT "([^"]*)" FOREIGN KEY ?\((.*?)\) REFERENCES "([^"]*)"/g;
1002
1002
  while ((fkResult = fkRegex.exec(sql)) !== null) {
1003
1003
  fkMappings.push({
1004
1004
  name: fkResult[1],
@@ -1031,7 +1031,7 @@ export class AbstractSqliteQueryRunner extends BaseQueryRunner {
1031
1031
  // find unique constraints from CREATE TABLE sql
1032
1032
  let uniqueRegexResult;
1033
1033
  const uniqueMappings = [];
1034
- const uniqueRegex = /CONSTRAINT "([^"]*)" UNIQUE \((.*?)\)/g;
1034
+ const uniqueRegex = /CONSTRAINT "([^"]*)" UNIQUE ?\((.*?)\)/g;
1035
1035
  while ((uniqueRegexResult = uniqueRegex.exec(sql)) !== null) {
1036
1036
  uniqueMappings.push({
1037
1037
  name: uniqueRegexResult[1],
@@ -1073,7 +1073,7 @@ export class AbstractSqliteQueryRunner extends BaseQueryRunner {
1073
1073
  table.uniques = (await Promise.all(tableUniquePromises));
1074
1074
  // build checks
1075
1075
  let result;
1076
- const regexp = /CONSTRAINT "([^"]*)" CHECK (\(.*?\))([,]|[)]$)/g;
1076
+ const regexp = /CONSTRAINT "([^"]*)" CHECK ?(\(.*?\))([,]|[)]$)/g;
1077
1077
  while ((result = regexp.exec(sql)) !== null) {
1078
1078
  table.checks.push(new TableCheck({
1079
1079
  name: result[1],
@@ -1113,7 +1113,7 @@ export class AbstractSqliteQueryRunner extends BaseQueryRunner {
1113
1113
  /**
1114
1114
  * Builds create table sql.
1115
1115
  */
1116
- createTableSql(table, createForeignKeys) {
1116
+ createTableSql(table, createForeignKeys, temporaryTable) {
1117
1117
  const primaryColumns = table.columns.filter((column) => column.isPrimary);
1118
1118
  const hasAutoIncrement = primaryColumns.find((column) => column.isGenerated && column.generationStrategy === "increment");
1119
1119
  const skipPrimary = primaryColumns.length > 1;
@@ -1124,6 +1124,10 @@ export class AbstractSqliteQueryRunner extends BaseQueryRunner {
1124
1124
  .join(", ");
1125
1125
  const [database] = this.splitTablePath(table.name);
1126
1126
  let sql = `CREATE TABLE ${this.escapePath(table.name)} (${columnDefinitions}`;
1127
+ let [databaseNew, tableName] = this.splitTablePath(table.name);
1128
+ const newTableName = temporaryTable
1129
+ ? `${databaseNew ? `${databaseNew}.` : ""}${tableName.replace(/^temporary_/, "")}`
1130
+ : table.name;
1127
1131
  // need for `addColumn()` method, because it recreates table.
1128
1132
  table.columns
1129
1133
  .filter((column) => column.isUnique)
@@ -1141,7 +1145,7 @@ export class AbstractSqliteQueryRunner extends BaseQueryRunner {
1141
1145
  .map((unique) => {
1142
1146
  const uniqueName = unique.name
1143
1147
  ? unique.name
1144
- : this.connection.namingStrategy.uniqueConstraintName(table, unique.columnNames);
1148
+ : this.connection.namingStrategy.uniqueConstraintName(newTableName, unique.columnNames);
1145
1149
  const columnNames = unique.columnNames
1146
1150
  .map((columnName) => `"${columnName}"`)
1147
1151
  .join(", ");
@@ -1155,7 +1159,7 @@ export class AbstractSqliteQueryRunner extends BaseQueryRunner {
1155
1159
  .map((check) => {
1156
1160
  const checkName = check.name
1157
1161
  ? check.name
1158
- : this.connection.namingStrategy.checkConstraintName(table, check.expression);
1162
+ : this.connection.namingStrategy.checkConstraintName(newTableName, check.expression);
1159
1163
  return `CONSTRAINT "${checkName}" CHECK (${check.expression})`;
1160
1164
  })
1161
1165
  .join(", ");
@@ -1176,7 +1180,7 @@ export class AbstractSqliteQueryRunner extends BaseQueryRunner {
1176
1180
  .map((columnName) => `"${columnName}"`)
1177
1181
  .join(", ");
1178
1182
  if (!fk.name)
1179
- fk.name = this.connection.namingStrategy.foreignKeyName(table, fk.columnNames, this.getTablePath(fk), fk.referencedColumnNames);
1183
+ fk.name = this.connection.namingStrategy.foreignKeyName(newTableName, fk.columnNames, this.getTablePath(fk), fk.referencedColumnNames);
1180
1184
  const referencedColumnNames = fk.referencedColumnNames
1181
1185
  .map((columnName) => `"${columnName}"`)
1182
1186
  .join(", ");
@@ -1325,7 +1329,7 @@ export class AbstractSqliteQueryRunner extends BaseQueryRunner {
1325
1329
  let [, tableNameOld] = this.splitTablePath(oldTable.name);
1326
1330
  newTable.name = tableNameNew = `${databaseNew ? `${databaseNew}.` : ""}temporary_${tableNameNew}`;
1327
1331
  // create new table
1328
- upQueries.push(this.createTableSql(newTable, true));
1332
+ upQueries.push(this.createTableSql(newTable, true, true));
1329
1333
  downQueries.push(this.dropTableSql(newTable));
1330
1334
  // migrate all data from the old table into new table
1331
1335
  if (migrateData) {