typeorm 0.3.8-dev.bb33cd0 → 0.3.8-dev.dadb658
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 +9 -1
- 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.d.ts +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.js +20 -11
- 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 +6 -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/EntityManager.js +1 -0
- package/browser/entity-manager/EntityManager.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/commands/CommandUtils.js +6 -3
- package/commands/CommandUtils.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 +9 -1
- 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.d.ts +1 -1
- package/driver/postgres/PostgresQueryRunner.js +20 -11
- 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 +6 -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/EntityManager.js +1 -0
- package/entity-manager/EntityManager.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
|
*/
|
|
@@ -722,7 +722,7 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
722
722
|
: await this.getCachedTable(tableOrName);
|
|
723
723
|
// new index may be passed without name. In this case we generate index name manually.
|
|
724
724
|
if (!index.name)
|
|
725
|
-
index.name = this.
|
|
725
|
+
index.name = this.generateIndexName(table, index);
|
|
726
726
|
const up = this.createIndexSql(table, index);
|
|
727
727
|
const down = this.dropIndexSql(index);
|
|
728
728
|
await this.executeQueries(up, down);
|
|
@@ -747,6 +747,9 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
747
747
|
: table.indices.find((i) => i.name === indexOrName);
|
|
748
748
|
if (!index)
|
|
749
749
|
throw new error_1.TypeORMError(`Supplied index ${indexOrName} was not found in table ${table.name}`);
|
|
750
|
+
// old index may be passed without name. In this case we generate index name manually.
|
|
751
|
+
if (!index.name)
|
|
752
|
+
index.name = this.generateIndexName(table, index);
|
|
750
753
|
const up = this.dropIndexSql(index);
|
|
751
754
|
const down = this.createIndexSql(table, index);
|
|
752
755
|
await this.executeQueries(up, down);
|
|
@@ -995,10 +998,10 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
995
998
|
}
|
|
996
999
|
return tableColumn;
|
|
997
1000
|
}));
|
|
998
|
-
// find
|
|
1001
|
+
// find foreign key constraints from CREATE TABLE sql
|
|
999
1002
|
let fkResult;
|
|
1000
1003
|
const fkMappings = [];
|
|
1001
|
-
const fkRegex = /CONSTRAINT "([^"]*)" FOREIGN KEY
|
|
1004
|
+
const fkRegex = /CONSTRAINT "([^"]*)" FOREIGN KEY ?\((.*?)\) REFERENCES "([^"]*)"/g;
|
|
1002
1005
|
while ((fkResult = fkRegex.exec(sql)) !== null) {
|
|
1003
1006
|
fkMappings.push({
|
|
1004
1007
|
name: fkResult[1],
|
|
@@ -1031,7 +1034,7 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
1031
1034
|
// find unique constraints from CREATE TABLE sql
|
|
1032
1035
|
let uniqueRegexResult;
|
|
1033
1036
|
const uniqueMappings = [];
|
|
1034
|
-
const uniqueRegex = /CONSTRAINT "([^"]*)" UNIQUE
|
|
1037
|
+
const uniqueRegex = /CONSTRAINT "([^"]*)" UNIQUE ?\((.*?)\)/g;
|
|
1035
1038
|
while ((uniqueRegexResult = uniqueRegex.exec(sql)) !== null) {
|
|
1036
1039
|
uniqueMappings.push({
|
|
1037
1040
|
name: uniqueRegexResult[1],
|
|
@@ -1073,7 +1076,7 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
1073
1076
|
table.uniques = (await Promise.all(tableUniquePromises));
|
|
1074
1077
|
// build checks
|
|
1075
1078
|
let result;
|
|
1076
|
-
const regexp = /CONSTRAINT "([^"]*)" CHECK (\(.*?\))([,]|[)]$)/g;
|
|
1079
|
+
const regexp = /CONSTRAINT "([^"]*)" CHECK ?(\(.*?\))([,]|[)]$)/g;
|
|
1077
1080
|
while ((result = regexp.exec(sql)) !== null) {
|
|
1078
1081
|
table.checks.push(new TableCheck_1.TableCheck({
|
|
1079
1082
|
name: result[1],
|
|
@@ -1113,7 +1116,7 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
1113
1116
|
/**
|
|
1114
1117
|
* Builds create table sql.
|
|
1115
1118
|
*/
|
|
1116
|
-
createTableSql(table, createForeignKeys) {
|
|
1119
|
+
createTableSql(table, createForeignKeys, temporaryTable) {
|
|
1117
1120
|
const primaryColumns = table.columns.filter((column) => column.isPrimary);
|
|
1118
1121
|
const hasAutoIncrement = primaryColumns.find((column) => column.isGenerated && column.generationStrategy === "increment");
|
|
1119
1122
|
const skipPrimary = primaryColumns.length > 1;
|
|
@@ -1124,6 +1127,10 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
1124
1127
|
.join(", ");
|
|
1125
1128
|
const [database] = this.splitTablePath(table.name);
|
|
1126
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;
|
|
1127
1134
|
// need for `addColumn()` method, because it recreates table.
|
|
1128
1135
|
table.columns
|
|
1129
1136
|
.filter((column) => column.isUnique)
|
|
@@ -1141,7 +1148,7 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
1141
1148
|
.map((unique) => {
|
|
1142
1149
|
const uniqueName = unique.name
|
|
1143
1150
|
? unique.name
|
|
1144
|
-
: this.connection.namingStrategy.uniqueConstraintName(
|
|
1151
|
+
: this.connection.namingStrategy.uniqueConstraintName(newTableName, unique.columnNames);
|
|
1145
1152
|
const columnNames = unique.columnNames
|
|
1146
1153
|
.map((columnName) => `"${columnName}"`)
|
|
1147
1154
|
.join(", ");
|
|
@@ -1155,7 +1162,7 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
1155
1162
|
.map((check) => {
|
|
1156
1163
|
const checkName = check.name
|
|
1157
1164
|
? check.name
|
|
1158
|
-
: this.connection.namingStrategy.checkConstraintName(
|
|
1165
|
+
: this.connection.namingStrategy.checkConstraintName(newTableName, check.expression);
|
|
1159
1166
|
return `CONSTRAINT "${checkName}" CHECK (${check.expression})`;
|
|
1160
1167
|
})
|
|
1161
1168
|
.join(", ");
|
|
@@ -1176,7 +1183,7 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
1176
1183
|
.map((columnName) => `"${columnName}"`)
|
|
1177
1184
|
.join(", ");
|
|
1178
1185
|
if (!fk.name)
|
|
1179
|
-
fk.name = this.connection.namingStrategy.foreignKeyName(
|
|
1186
|
+
fk.name = this.connection.namingStrategy.foreignKeyName(newTableName, fk.columnNames, this.getTablePath(fk), fk.referencedColumnNames);
|
|
1180
1187
|
const referencedColumnNames = fk.referencedColumnNames
|
|
1181
1188
|
.map((columnName) => `"${columnName}"`)
|
|
1182
1189
|
.join(", ");
|
|
@@ -1325,7 +1332,7 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
1325
1332
|
let [, tableNameOld] = this.splitTablePath(oldTable.name);
|
|
1326
1333
|
newTable.name = tableNameNew = `${databaseNew ? `${databaseNew}.` : ""}temporary_${tableNameNew}`;
|
|
1327
1334
|
// create new table
|
|
1328
|
-
upQueries.push(this.createTableSql(newTable, true));
|
|
1335
|
+
upQueries.push(this.createTableSql(newTable, true, true));
|
|
1329
1336
|
downQueries.push(this.dropTableSql(newTable));
|
|
1330
1337
|
// migrate all data from the old table into new table
|
|
1331
1338
|
if (migrateData) {
|