typeorm 0.3.8-dev.5ebc626 → 0.3.8-dev.8dcd61e
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.
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +4 -1
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.js +4 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.js +5 -2
- package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/browser/driver/oracle/OracleQueryRunner.js +4 -1
- package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.js +4 -1
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/driver/sap/SapQueryRunner.js +4 -1
- package/browser/driver/sap/SapQueryRunner.js.map +1 -1
- package/browser/driver/spanner/SpannerQueryRunner.js +4 -1
- package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +17 -10
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +1 -1
- package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerQueryRunner.js +4 -1
- package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/browser/entity-manager/MongoEntityManager.d.ts +1 -1
- package/browser/entity-manager/MongoEntityManager.js +17 -10
- package/browser/entity-manager/MongoEntityManager.js.map +1 -1
- package/browser/persistence/SubjectTopoligicalSorter.js +5 -1
- package/browser/persistence/SubjectTopoligicalSorter.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilder.d.ts +6 -0
- package/browser/query-builder/SelectQueryBuilder.js +6 -3
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-runner/BaseQueryRunner.d.ts +5 -0
- package/browser/query-runner/BaseQueryRunner.js +7 -0
- package/browser/query-runner/BaseQueryRunner.js.map +1 -1
- package/browser/util/DateUtils.d.ts +1 -1
- package/browser/util/DateUtils.js +7 -8
- package/browser/util/DateUtils.js.map +1 -1
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +4 -1
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.js +4 -1
- package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/driver/mysql/MysqlQueryRunner.js +5 -2
- package/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/driver/oracle/OracleQueryRunner.js +4 -1
- package/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.js +4 -1
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/sap/SapQueryRunner.js +4 -1
- package/driver/sap/SapQueryRunner.js.map +1 -1
- package/driver/spanner/SpannerQueryRunner.js +4 -1
- package/driver/spanner/SpannerQueryRunner.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +17 -10
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/driver/sqlserver/SqlServerConnectionOptions.d.ts +1 -1
- package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
- package/driver/sqlserver/SqlServerQueryRunner.js +4 -1
- package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/entity-manager/MongoEntityManager.d.ts +1 -1
- package/entity-manager/MongoEntityManager.js +17 -10
- package/entity-manager/MongoEntityManager.js.map +1 -1
- package/package.json +1 -1
- package/persistence/SubjectTopoligicalSorter.js +5 -1
- package/persistence/SubjectTopoligicalSorter.js.map +1 -1
- package/query-builder/SelectQueryBuilder.d.ts +6 -0
- package/query-builder/SelectQueryBuilder.js +6 -3
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-runner/BaseQueryRunner.d.ts +5 -0
- package/query-runner/BaseQueryRunner.js +7 -0
- package/query-runner/BaseQueryRunner.js.map +1 -1
- package/util/DateUtils.d.ts +1 -1
- package/util/DateUtils.js +7 -8
- 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
|
*/
|
|
@@ -719,7 +719,7 @@ export class AbstractSqliteQueryRunner extends BaseQueryRunner {
|
|
|
719
719
|
: await this.getCachedTable(tableOrName);
|
|
720
720
|
// new index may be passed without name. In this case we generate index name manually.
|
|
721
721
|
if (!index.name)
|
|
722
|
-
index.name = this.
|
|
722
|
+
index.name = this.generateIndexName(table, index);
|
|
723
723
|
const up = this.createIndexSql(table, index);
|
|
724
724
|
const down = this.dropIndexSql(index);
|
|
725
725
|
await this.executeQueries(up, down);
|
|
@@ -744,6 +744,9 @@ export class AbstractSqliteQueryRunner extends BaseQueryRunner {
|
|
|
744
744
|
: table.indices.find((i) => i.name === indexOrName);
|
|
745
745
|
if (!index)
|
|
746
746
|
throw new TypeORMError(`Supplied index ${indexOrName} was not found in table ${table.name}`);
|
|
747
|
+
// old index may be passed without name. In this case we generate index name manually.
|
|
748
|
+
if (!index.name)
|
|
749
|
+
index.name = this.generateIndexName(table, index);
|
|
747
750
|
const up = this.dropIndexSql(index);
|
|
748
751
|
const down = this.createIndexSql(table, index);
|
|
749
752
|
await this.executeQueries(up, down);
|
|
@@ -992,10 +995,10 @@ export class AbstractSqliteQueryRunner extends BaseQueryRunner {
|
|
|
992
995
|
}
|
|
993
996
|
return tableColumn;
|
|
994
997
|
}));
|
|
995
|
-
// find
|
|
998
|
+
// find foreign key constraints from CREATE TABLE sql
|
|
996
999
|
let fkResult;
|
|
997
1000
|
const fkMappings = [];
|
|
998
|
-
const fkRegex = /CONSTRAINT "([^"]*)" FOREIGN KEY
|
|
1001
|
+
const fkRegex = /CONSTRAINT "([^"]*)" FOREIGN KEY ?\((.*?)\) REFERENCES "([^"]*)"/g;
|
|
999
1002
|
while ((fkResult = fkRegex.exec(sql)) !== null) {
|
|
1000
1003
|
fkMappings.push({
|
|
1001
1004
|
name: fkResult[1],
|
|
@@ -1028,7 +1031,7 @@ export class AbstractSqliteQueryRunner extends BaseQueryRunner {
|
|
|
1028
1031
|
// find unique constraints from CREATE TABLE sql
|
|
1029
1032
|
let uniqueRegexResult;
|
|
1030
1033
|
const uniqueMappings = [];
|
|
1031
|
-
const uniqueRegex = /CONSTRAINT "([^"]*)" UNIQUE
|
|
1034
|
+
const uniqueRegex = /CONSTRAINT "([^"]*)" UNIQUE ?\((.*?)\)/g;
|
|
1032
1035
|
while ((uniqueRegexResult = uniqueRegex.exec(sql)) !== null) {
|
|
1033
1036
|
uniqueMappings.push({
|
|
1034
1037
|
name: uniqueRegexResult[1],
|
|
@@ -1070,7 +1073,7 @@ export class AbstractSqliteQueryRunner extends BaseQueryRunner {
|
|
|
1070
1073
|
table.uniques = (await Promise.all(tableUniquePromises));
|
|
1071
1074
|
// build checks
|
|
1072
1075
|
let result;
|
|
1073
|
-
const regexp = /CONSTRAINT "([^"]*)" CHECK (\(.*?\))([,]|[)]$)/g;
|
|
1076
|
+
const regexp = /CONSTRAINT "([^"]*)" CHECK ?(\(.*?\))([,]|[)]$)/g;
|
|
1074
1077
|
while ((result = regexp.exec(sql)) !== null) {
|
|
1075
1078
|
table.checks.push(new TableCheck({
|
|
1076
1079
|
name: result[1],
|
|
@@ -1110,7 +1113,7 @@ export class AbstractSqliteQueryRunner extends BaseQueryRunner {
|
|
|
1110
1113
|
/**
|
|
1111
1114
|
* Builds create table sql.
|
|
1112
1115
|
*/
|
|
1113
|
-
createTableSql(table, createForeignKeys) {
|
|
1116
|
+
createTableSql(table, createForeignKeys, temporaryTable) {
|
|
1114
1117
|
const primaryColumns = table.columns.filter((column) => column.isPrimary);
|
|
1115
1118
|
const hasAutoIncrement = primaryColumns.find((column) => column.isGenerated && column.generationStrategy === "increment");
|
|
1116
1119
|
const skipPrimary = primaryColumns.length > 1;
|
|
@@ -1121,6 +1124,10 @@ export class AbstractSqliteQueryRunner extends BaseQueryRunner {
|
|
|
1121
1124
|
.join(", ");
|
|
1122
1125
|
const [database] = this.splitTablePath(table.name);
|
|
1123
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;
|
|
1124
1131
|
// need for `addColumn()` method, because it recreates table.
|
|
1125
1132
|
table.columns
|
|
1126
1133
|
.filter((column) => column.isUnique)
|
|
@@ -1138,7 +1145,7 @@ export class AbstractSqliteQueryRunner extends BaseQueryRunner {
|
|
|
1138
1145
|
.map((unique) => {
|
|
1139
1146
|
const uniqueName = unique.name
|
|
1140
1147
|
? unique.name
|
|
1141
|
-
: this.connection.namingStrategy.uniqueConstraintName(
|
|
1148
|
+
: this.connection.namingStrategy.uniqueConstraintName(newTableName, unique.columnNames);
|
|
1142
1149
|
const columnNames = unique.columnNames
|
|
1143
1150
|
.map((columnName) => `"${columnName}"`)
|
|
1144
1151
|
.join(", ");
|
|
@@ -1152,7 +1159,7 @@ export class AbstractSqliteQueryRunner extends BaseQueryRunner {
|
|
|
1152
1159
|
.map((check) => {
|
|
1153
1160
|
const checkName = check.name
|
|
1154
1161
|
? check.name
|
|
1155
|
-
: this.connection.namingStrategy.checkConstraintName(
|
|
1162
|
+
: this.connection.namingStrategy.checkConstraintName(newTableName, check.expression);
|
|
1156
1163
|
return `CONSTRAINT "${checkName}" CHECK (${check.expression})`;
|
|
1157
1164
|
})
|
|
1158
1165
|
.join(", ");
|
|
@@ -1173,7 +1180,7 @@ export class AbstractSqliteQueryRunner extends BaseQueryRunner {
|
|
|
1173
1180
|
.map((columnName) => `"${columnName}"`)
|
|
1174
1181
|
.join(", ");
|
|
1175
1182
|
if (!fk.name)
|
|
1176
|
-
fk.name = this.connection.namingStrategy.foreignKeyName(
|
|
1183
|
+
fk.name = this.connection.namingStrategy.foreignKeyName(newTableName, fk.columnNames, this.getTablePath(fk), fk.referencedColumnNames);
|
|
1177
1184
|
const referencedColumnNames = fk.referencedColumnNames
|
|
1178
1185
|
.map((columnName) => `"${columnName}"`)
|
|
1179
1186
|
.join(", ");
|
|
@@ -1322,7 +1329,7 @@ export class AbstractSqliteQueryRunner extends BaseQueryRunner {
|
|
|
1322
1329
|
let [, tableNameOld] = this.splitTablePath(oldTable.name);
|
|
1323
1330
|
newTable.name = tableNameNew = `${databaseNew ? `${databaseNew}.` : ""}temporary_${tableNameNew}`;
|
|
1324
1331
|
// create new table
|
|
1325
|
-
upQueries.push(this.createTableSql(newTable, true));
|
|
1332
|
+
upQueries.push(this.createTableSql(newTable, true, true));
|
|
1326
1333
|
downQueries.push(this.dropTableSql(newTable));
|
|
1327
1334
|
// migrate all data from the old table into new table
|
|
1328
1335
|
if (migrateData) {
|