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.
- package/browser/driver/postgres/PostgresQueryRunner.js +4 -4
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +13 -9
- 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/entity-manager/EntityManager.js +1 -0
- package/browser/entity-manager/EntityManager.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/util/DateUtils.d.ts +1 -1
- package/browser/util/DateUtils.js +7 -8
- package/browser/util/DateUtils.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.js +4 -4
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +13 -9
- 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/entity-manager/EntityManager.js +1 -0
- package/entity-manager/EntityManager.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/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
|
*/
|
|
@@ -998,10 +998,10 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
998
998
|
}
|
|
999
999
|
return tableColumn;
|
|
1000
1000
|
}));
|
|
1001
|
-
// find
|
|
1001
|
+
// find foreign key constraints from CREATE TABLE sql
|
|
1002
1002
|
let fkResult;
|
|
1003
1003
|
const fkMappings = [];
|
|
1004
|
-
const fkRegex = /CONSTRAINT "([^"]*)" FOREIGN KEY
|
|
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
|
|
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(
|
|
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(
|
|
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(
|
|
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) {
|