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
  */
@@ -998,10 +998,10 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
998
998
  }
999
999
  return tableColumn;
1000
1000
  }));
1001
- // find unique constraints from CREATE TABLE sql
1001
+ // find foreign key constraints from CREATE TABLE sql
1002
1002
  let fkResult;
1003
1003
  const fkMappings = [];
1004
- const fkRegex = /CONSTRAINT "([^"]*)" FOREIGN KEY \((.*?)\) REFERENCES "([^"]*)" /g;
1004
+ const fkRegex = /CONSTRAINT "([^"]*)" FOREIGN KEY ?\((.*?)\) REFERENCES "([^"]*)"/g;
1005
1005
  while ((fkResult = fkRegex.exec(sql)) !== null) {
1006
1006
  fkMappings.push({
1007
1007
  name: fkResult[1],
@@ -1034,7 +1034,7 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
1034
1034
  // find unique constraints from CREATE TABLE sql
1035
1035
  let uniqueRegexResult;
1036
1036
  const uniqueMappings = [];
1037
- const uniqueRegex = /CONSTRAINT "([^"]*)" UNIQUE \((.*?)\)/g;
1037
+ const uniqueRegex = /CONSTRAINT "([^"]*)" UNIQUE ?\((.*?)\)/g;
1038
1038
  while ((uniqueRegexResult = uniqueRegex.exec(sql)) !== null) {
1039
1039
  uniqueMappings.push({
1040
1040
  name: uniqueRegexResult[1],
@@ -1076,7 +1076,7 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
1076
1076
  table.uniques = (await Promise.all(tableUniquePromises));
1077
1077
  // build checks
1078
1078
  let result;
1079
- const regexp = /CONSTRAINT "([^"]*)" CHECK (\(.*?\))([,]|[)]$)/g;
1079
+ const regexp = /CONSTRAINT "([^"]*)" CHECK ?(\(.*?\))([,]|[)]$)/g;
1080
1080
  while ((result = regexp.exec(sql)) !== null) {
1081
1081
  table.checks.push(new TableCheck_1.TableCheck({
1082
1082
  name: result[1],
@@ -1116,7 +1116,7 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
1116
1116
  /**
1117
1117
  * Builds create table sql.
1118
1118
  */
1119
- createTableSql(table, createForeignKeys) {
1119
+ createTableSql(table, createForeignKeys, temporaryTable) {
1120
1120
  const primaryColumns = table.columns.filter((column) => column.isPrimary);
1121
1121
  const hasAutoIncrement = primaryColumns.find((column) => column.isGenerated && column.generationStrategy === "increment");
1122
1122
  const skipPrimary = primaryColumns.length > 1;
@@ -1127,6 +1127,10 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
1127
1127
  .join(", ");
1128
1128
  const [database] = this.splitTablePath(table.name);
1129
1129
  let sql = `CREATE TABLE ${this.escapePath(table.name)} (${columnDefinitions}`;
1130
+ let [databaseNew, tableName] = this.splitTablePath(table.name);
1131
+ const newTableName = temporaryTable
1132
+ ? `${databaseNew ? `${databaseNew}.` : ""}${tableName.replace(/^temporary_/, "")}`
1133
+ : table.name;
1130
1134
  // need for `addColumn()` method, because it recreates table.
1131
1135
  table.columns
1132
1136
  .filter((column) => column.isUnique)
@@ -1144,7 +1148,7 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
1144
1148
  .map((unique) => {
1145
1149
  const uniqueName = unique.name
1146
1150
  ? unique.name
1147
- : this.connection.namingStrategy.uniqueConstraintName(table, unique.columnNames);
1151
+ : this.connection.namingStrategy.uniqueConstraintName(newTableName, unique.columnNames);
1148
1152
  const columnNames = unique.columnNames
1149
1153
  .map((columnName) => `"${columnName}"`)
1150
1154
  .join(", ");
@@ -1158,7 +1162,7 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
1158
1162
  .map((check) => {
1159
1163
  const checkName = check.name
1160
1164
  ? check.name
1161
- : this.connection.namingStrategy.checkConstraintName(table, check.expression);
1165
+ : this.connection.namingStrategy.checkConstraintName(newTableName, check.expression);
1162
1166
  return `CONSTRAINT "${checkName}" CHECK (${check.expression})`;
1163
1167
  })
1164
1168
  .join(", ");
@@ -1179,7 +1183,7 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
1179
1183
  .map((columnName) => `"${columnName}"`)
1180
1184
  .join(", ");
1181
1185
  if (!fk.name)
1182
- fk.name = this.connection.namingStrategy.foreignKeyName(table, fk.columnNames, this.getTablePath(fk), fk.referencedColumnNames);
1186
+ fk.name = this.connection.namingStrategy.foreignKeyName(newTableName, fk.columnNames, this.getTablePath(fk), fk.referencedColumnNames);
1183
1187
  const referencedColumnNames = fk.referencedColumnNames
1184
1188
  .map((columnName) => `"${columnName}"`)
1185
1189
  .join(", ");
@@ -1328,7 +1332,7 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
1328
1332
  let [, tableNameOld] = this.splitTablePath(oldTable.name);
1329
1333
  newTable.name = tableNameNew = `${databaseNew ? `${databaseNew}.` : ""}temporary_${tableNameNew}`;
1330
1334
  // create new table
1331
- upQueries.push(this.createTableSql(newTable, true));
1335
+ upQueries.push(this.createTableSql(newTable, true, true));
1332
1336
  downQueries.push(this.dropTableSql(newTable));
1333
1337
  // migrate all data from the old table into new table
1334
1338
  if (migrateData) {