typeorm 0.3.8-dev.e49d0c8 → 0.3.8
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/cli-ts-node-commonjs.js +0 -0
- package/browser/cli-ts-node-esm.js +0 -0
- package/browser/data-source/DataSource.d.ts +2 -0
- package/browser/data-source/DataSource.js +2 -0
- package/browser/data-source/DataSource.js.map +1 -1
- package/browser/driver/Driver.d.ts +4 -0
- package/browser/driver/Driver.js.map +1 -1
- package/browser/driver/DriverUtils.d.ts +1 -0
- package/browser/driver/DriverUtils.js +5 -0
- package/browser/driver/DriverUtils.js.map +1 -1
- package/browser/driver/mysql/MysqlDriver.d.ts +4 -0
- package/browser/driver/mysql/MysqlDriver.js +1 -0
- package/browser/driver/mysql/MysqlDriver.js.map +1 -1
- package/browser/driver/postgres/PostgresDriver.d.ts +4 -0
- package/browser/driver/postgres/PostgresDriver.js +3 -2
- package/browser/driver/postgres/PostgresDriver.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.d.ts +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.js +18 -12
- 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 +16 -12
- 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/find-options/FindOneOptions.d.ts +1 -0
- package/browser/find-options/FindOneOptions.js.map +1 -1
- package/browser/migration/MigrationExecutor.d.ts +8 -0
- package/browser/migration/MigrationExecutor.js +13 -5
- package/browser/migration/MigrationExecutor.js.map +1 -1
- package/browser/persistence/SubjectTopoligicalSorter.js +6 -1
- package/browser/persistence/SubjectTopoligicalSorter.js.map +1 -1
- package/browser/query-builder/QueryExpressionMap.d.ts +4 -0
- package/browser/query-builder/QueryExpressionMap.js +1 -0
- package/browser/query-builder/QueryExpressionMap.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilder.d.ts +4 -0
- package/browser/query-builder/SelectQueryBuilder.js +57 -18
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-builder/UpdateQueryBuilder.js +1 -0
- package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/browser/schema-builder/options/TableOptions.d.ts +4 -0
- package/browser/schema-builder/options/TableOptions.js.map +1 -1
- package/browser/schema-builder/table/Table.d.ts +4 -0
- package/browser/schema-builder/table/Table.js +8 -0
- package/browser/schema-builder/table/Table.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/cli-ts-node-commonjs.js +0 -0
- package/cli-ts-node-esm.js +0 -0
- package/cli.js +0 -0
- package/commands/MigrationRevertCommand.d.ts +2 -0
- package/commands/MigrationRevertCommand.js +6 -0
- package/commands/MigrationRevertCommand.js.map +1 -1
- package/commands/MigrationRunCommand.d.ts +2 -0
- package/commands/MigrationRunCommand.js +8 -0
- package/commands/MigrationRunCommand.js.map +1 -1
- package/data-source/DataSource.d.ts +2 -0
- package/data-source/DataSource.js +2 -0
- package/data-source/DataSource.js.map +1 -1
- package/driver/Driver.d.ts +4 -0
- package/driver/Driver.js.map +1 -1
- package/driver/DriverUtils.d.ts +1 -0
- package/driver/DriverUtils.js +5 -0
- package/driver/DriverUtils.js.map +1 -1
- package/driver/mysql/MysqlDriver.d.ts +4 -0
- package/driver/mysql/MysqlDriver.js +1 -0
- package/driver/mysql/MysqlDriver.js.map +1 -1
- package/driver/postgres/PostgresDriver.d.ts +4 -0
- package/driver/postgres/PostgresDriver.js +3 -2
- package/driver/postgres/PostgresDriver.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.d.ts +1 -1
- package/driver/postgres/PostgresQueryRunner.js +18 -12
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +16 -12
- 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/find-options/FindOneOptions.d.ts +1 -0
- package/find-options/FindOneOptions.js.map +1 -1
- package/migration/MigrationExecutor.d.ts +8 -0
- package/migration/MigrationExecutor.js +13 -5
- package/migration/MigrationExecutor.js.map +1 -1
- package/package.json +274 -1
- package/persistence/SubjectTopoligicalSorter.js +6 -1
- package/persistence/SubjectTopoligicalSorter.js.map +1 -1
- package/query-builder/QueryExpressionMap.d.ts +4 -0
- package/query-builder/QueryExpressionMap.js +1 -0
- package/query-builder/QueryExpressionMap.js.map +1 -1
- package/query-builder/SelectQueryBuilder.d.ts +4 -0
- package/query-builder/SelectQueryBuilder.js +57 -18
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-builder/UpdateQueryBuilder.js +1 -0
- package/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/schema-builder/options/TableOptions.d.ts +4 -0
- package/schema-builder/options/TableOptions.js.map +1 -1
- package/schema-builder/table/Table.d.ts +4 -0
- package/schema-builder/table/Table.js +8 -0
- package/schema-builder/table/Table.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
|
*/
|
|
@@ -887,8 +887,9 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
887
887
|
this.driver.getAttachedDatabaseHandleByRelativePath(dbTable["database"])
|
|
888
888
|
? `${this.driver.getAttachedDatabaseHandleByRelativePath(dbTable["database"])}.${dbTable["name"]}`
|
|
889
889
|
: dbTable["name"];
|
|
890
|
-
const table = new Table_1.Table({ name: tablePath });
|
|
891
890
|
const sql = dbTable["sql"];
|
|
891
|
+
const withoutRowid = sql.includes("WITHOUT ROWID");
|
|
892
|
+
const table = new Table_1.Table({ name: tablePath, withoutRowid });
|
|
892
893
|
// load columns and indices
|
|
893
894
|
const [dbColumns, dbIndices, dbForeignKeys] = await Promise.all([
|
|
894
895
|
this.loadPragmaRecords(tablePath, `table_xinfo`),
|
|
@@ -998,10 +999,10 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
998
999
|
}
|
|
999
1000
|
return tableColumn;
|
|
1000
1001
|
}));
|
|
1001
|
-
// find
|
|
1002
|
+
// find foreign key constraints from CREATE TABLE sql
|
|
1002
1003
|
let fkResult;
|
|
1003
1004
|
const fkMappings = [];
|
|
1004
|
-
const fkRegex = /CONSTRAINT "([^"]*)" FOREIGN KEY
|
|
1005
|
+
const fkRegex = /CONSTRAINT "([^"]*)" FOREIGN KEY ?\((.*?)\) REFERENCES "([^"]*)"/g;
|
|
1005
1006
|
while ((fkResult = fkRegex.exec(sql)) !== null) {
|
|
1006
1007
|
fkMappings.push({
|
|
1007
1008
|
name: fkResult[1],
|
|
@@ -1034,7 +1035,7 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
1034
1035
|
// find unique constraints from CREATE TABLE sql
|
|
1035
1036
|
let uniqueRegexResult;
|
|
1036
1037
|
const uniqueMappings = [];
|
|
1037
|
-
const uniqueRegex = /CONSTRAINT "([^"]*)" UNIQUE
|
|
1038
|
+
const uniqueRegex = /CONSTRAINT "([^"]*)" UNIQUE ?\((.*?)\)/g;
|
|
1038
1039
|
while ((uniqueRegexResult = uniqueRegex.exec(sql)) !== null) {
|
|
1039
1040
|
uniqueMappings.push({
|
|
1040
1041
|
name: uniqueRegexResult[1],
|
|
@@ -1076,7 +1077,7 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
1076
1077
|
table.uniques = (await Promise.all(tableUniquePromises));
|
|
1077
1078
|
// build checks
|
|
1078
1079
|
let result;
|
|
1079
|
-
const regexp = /CONSTRAINT "([^"]*)" CHECK (\(.*?\))([,]|[)]$)/g;
|
|
1080
|
+
const regexp = /CONSTRAINT "([^"]*)" CHECK ?(\(.*?\))([,]|[)]$)/g;
|
|
1080
1081
|
while ((result = regexp.exec(sql)) !== null) {
|
|
1081
1082
|
table.checks.push(new TableCheck_1.TableCheck({
|
|
1082
1083
|
name: result[1],
|
|
@@ -1116,7 +1117,7 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
1116
1117
|
/**
|
|
1117
1118
|
* Builds create table sql.
|
|
1118
1119
|
*/
|
|
1119
|
-
createTableSql(table, createForeignKeys) {
|
|
1120
|
+
createTableSql(table, createForeignKeys, temporaryTable) {
|
|
1120
1121
|
const primaryColumns = table.columns.filter((column) => column.isPrimary);
|
|
1121
1122
|
const hasAutoIncrement = primaryColumns.find((column) => column.isGenerated && column.generationStrategy === "increment");
|
|
1122
1123
|
const skipPrimary = primaryColumns.length > 1;
|
|
@@ -1127,6 +1128,10 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
1127
1128
|
.join(", ");
|
|
1128
1129
|
const [database] = this.splitTablePath(table.name);
|
|
1129
1130
|
let sql = `CREATE TABLE ${this.escapePath(table.name)} (${columnDefinitions}`;
|
|
1131
|
+
let [databaseNew, tableName] = this.splitTablePath(table.name);
|
|
1132
|
+
const newTableName = temporaryTable
|
|
1133
|
+
? `${databaseNew ? `${databaseNew}.` : ""}${tableName.replace(/^temporary_/, "")}`
|
|
1134
|
+
: table.name;
|
|
1130
1135
|
// need for `addColumn()` method, because it recreates table.
|
|
1131
1136
|
table.columns
|
|
1132
1137
|
.filter((column) => column.isUnique)
|
|
@@ -1144,7 +1149,7 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
1144
1149
|
.map((unique) => {
|
|
1145
1150
|
const uniqueName = unique.name
|
|
1146
1151
|
? unique.name
|
|
1147
|
-
: this.connection.namingStrategy.uniqueConstraintName(
|
|
1152
|
+
: this.connection.namingStrategy.uniqueConstraintName(newTableName, unique.columnNames);
|
|
1148
1153
|
const columnNames = unique.columnNames
|
|
1149
1154
|
.map((columnName) => `"${columnName}"`)
|
|
1150
1155
|
.join(", ");
|
|
@@ -1158,7 +1163,7 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
1158
1163
|
.map((check) => {
|
|
1159
1164
|
const checkName = check.name
|
|
1160
1165
|
? check.name
|
|
1161
|
-
: this.connection.namingStrategy.checkConstraintName(
|
|
1166
|
+
: this.connection.namingStrategy.checkConstraintName(newTableName, check.expression);
|
|
1162
1167
|
return `CONSTRAINT "${checkName}" CHECK (${check.expression})`;
|
|
1163
1168
|
})
|
|
1164
1169
|
.join(", ");
|
|
@@ -1179,7 +1184,7 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
1179
1184
|
.map((columnName) => `"${columnName}"`)
|
|
1180
1185
|
.join(", ");
|
|
1181
1186
|
if (!fk.name)
|
|
1182
|
-
fk.name = this.connection.namingStrategy.foreignKeyName(
|
|
1187
|
+
fk.name = this.connection.namingStrategy.foreignKeyName(newTableName, fk.columnNames, this.getTablePath(fk), fk.referencedColumnNames);
|
|
1183
1188
|
const referencedColumnNames = fk.referencedColumnNames
|
|
1184
1189
|
.map((columnName) => `"${columnName}"`)
|
|
1185
1190
|
.join(", ");
|
|
@@ -1200,8 +1205,7 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
1200
1205
|
sql += `, PRIMARY KEY (${columnNames})`;
|
|
1201
1206
|
}
|
|
1202
1207
|
sql += `)`;
|
|
1203
|
-
|
|
1204
|
-
if (tableMetadata && tableMetadata.withoutRowid) {
|
|
1208
|
+
if (table.withoutRowid) {
|
|
1205
1209
|
sql += " WITHOUT ROWID";
|
|
1206
1210
|
}
|
|
1207
1211
|
return new Query_1.Query(sql);
|
|
@@ -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) {
|