typeorm 0.3.8-dev.46d0021 → 0.3.8-dev.5e5abbd
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 +4 -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/PostgresDriver.js +2 -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 +22 -13
- 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 +20 -13
- 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 +6 -1
- package/browser/persistence/SubjectTopoligicalSorter.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilder.js +13 -2
- 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/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/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/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 +4 -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/PostgresDriver.js +2 -2
- package/driver/postgres/PostgresDriver.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.d.ts +1 -1
- package/driver/postgres/PostgresQueryRunner.js +22 -13
- 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 +20 -13
- 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 +6 -1
- package/persistence/SubjectTopoligicalSorter.js.map +1 -1
- package/query-builder/SelectQueryBuilder.js +13 -2
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-builder/UpdateQueryBuilder.js +1 -0
- package/query-builder/UpdateQueryBuilder.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/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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../browser/src/schema-builder/table/Table.ts"],"names":[],"mappings":"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","file":"Table.js","sourcesContent":["import { TableColumn } from \"./TableColumn\"\nimport { TableIndex } from \"./TableIndex\"\nimport { TableForeignKey } from \"./TableForeignKey\"\nimport { Driver } from \"../../driver/Driver\"\nimport { TableOptions } from \"../options/TableOptions\"\nimport { EntityMetadata } from \"../../metadata/EntityMetadata\"\nimport { TableUtils } from \"../util/TableUtils\"\nimport { TableUnique } from \"./TableUnique\"\nimport { TableCheck } from \"./TableCheck\"\nimport { TableExclusion } from \"./TableExclusion\"\n\n/**\n * Table in the database represented in this class.\n */\nexport class Table {\n readonly \"@instanceof\" = Symbol.for(\"Table\")\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Database name that this table resides in if it applies.\n */\n database?: string\n\n /**\n * Schema name that this table resides in if it applies.\n */\n schema?: string\n\n /**\n * May contain database name, schema name and table name, unless they're the current database.\n *\n * E.g. myDB.mySchema.myTable\n */\n name: string\n\n /**\n * Table columns.\n */\n columns: TableColumn[] = []\n\n /**\n * Table indices.\n */\n indices: TableIndex[] = []\n\n /**\n * Table foreign keys.\n */\n foreignKeys: TableForeignKey[] = []\n\n /**\n * Table unique constraints.\n */\n uniques: TableUnique[] = []\n\n /**\n * Table check constraints.\n */\n checks: TableCheck[] = []\n\n /**\n * Table exclusion constraints.\n */\n exclusions: TableExclusion[] = []\n\n /**\n * Indicates if table was just created.\n * This is needed, for example to check if we need to skip primary keys creation\n * for new tables.\n */\n justCreated: boolean = false\n\n /**\n * Table engine.\n */\n engine?: string\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(options?: TableOptions) {\n if (options) {\n this.database = options.database\n\n this.schema = options.schema\n\n this.name = options.name\n\n if (options.columns)\n this.columns = options.columns.map(\n (column) => new TableColumn(column),\n )\n\n if (options.indices)\n this.indices = options.indices.map(\n (index) => new TableIndex(index),\n )\n\n if (options.foreignKeys)\n this.foreignKeys = options.foreignKeys.map(\n (foreignKey) =>\n new TableForeignKey({\n ...foreignKey,\n referencedDatabase:\n foreignKey?.referencedDatabase ||\n options.database,\n referencedSchema:\n foreignKey?.referencedSchema || options.schema,\n }),\n )\n\n if (options.uniques)\n this.uniques = options.uniques.map(\n (unique) => new TableUnique(unique),\n )\n\n if (options.checks)\n this.checks = options.checks.map(\n (check) => new TableCheck(check),\n )\n\n if (options.exclusions)\n this.exclusions = options.exclusions.map(\n (exclusion) => new TableExclusion(exclusion),\n )\n\n if (options.justCreated !== undefined)\n this.justCreated = options.justCreated\n\n this.engine = options.engine\n }\n }\n\n // -------------------------------------------------------------------------\n // Accessors\n // -------------------------------------------------------------------------\n\n get primaryColumns(): TableColumn[] {\n return this.columns.filter((column) => column.isPrimary)\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Clones this table to a new table with all properties cloned.\n */\n clone(): Table {\n return new Table({\n schema: this.schema,\n database: this.database,\n name: this.name,\n columns: this.columns.map((column) => column.clone()),\n indices: this.indices.map((constraint) => constraint.clone()),\n foreignKeys: this.foreignKeys.map((constraint) =>\n constraint.clone(),\n ),\n uniques: this.uniques.map((constraint) => constraint.clone()),\n checks: this.checks.map((constraint) => constraint.clone()),\n exclusions: this.exclusions.map((constraint) => constraint.clone()),\n justCreated: this.justCreated,\n engine: this.engine,\n })\n }\n\n /**\n * Add column and creates its constraints.\n */\n addColumn(column: TableColumn): void {\n this.columns.push(column)\n }\n\n /**\n * Remove column and its constraints.\n */\n removeColumn(column: TableColumn): void {\n const foundColumn = this.columns.find((c) => c.name === column.name)\n if (foundColumn)\n this.columns.splice(this.columns.indexOf(foundColumn), 1)\n }\n\n /**\n * Adds unique constraint.\n */\n addUniqueConstraint(uniqueConstraint: TableUnique): void {\n this.uniques.push(uniqueConstraint)\n if (uniqueConstraint.columnNames.length === 1) {\n const uniqueColumn = this.columns.find(\n (column) => column.name === uniqueConstraint.columnNames[0],\n )\n if (uniqueColumn) uniqueColumn.isUnique = true\n }\n }\n\n /**\n * Removes unique constraint.\n */\n removeUniqueConstraint(removedUnique: TableUnique): void {\n const foundUnique = this.uniques.find(\n (unique) => unique.name === removedUnique.name,\n )\n if (foundUnique) {\n this.uniques.splice(this.uniques.indexOf(foundUnique), 1)\n if (foundUnique.columnNames.length === 1) {\n const uniqueColumn = this.columns.find(\n (column) => column.name === foundUnique.columnNames[0],\n )\n if (uniqueColumn) uniqueColumn.isUnique = false\n }\n }\n }\n\n /**\n * Adds check constraint.\n */\n addCheckConstraint(checkConstraint: TableCheck): void {\n this.checks.push(checkConstraint)\n }\n\n /**\n * Removes check constraint.\n */\n removeCheckConstraint(removedCheck: TableCheck): void {\n const foundCheck = this.checks.find(\n (check) => check.name === removedCheck.name,\n )\n if (foundCheck) {\n this.checks.splice(this.checks.indexOf(foundCheck), 1)\n }\n }\n\n /**\n * Adds exclusion constraint.\n */\n addExclusionConstraint(exclusionConstraint: TableExclusion): void {\n this.exclusions.push(exclusionConstraint)\n }\n\n /**\n * Removes exclusion constraint.\n */\n removeExclusionConstraint(removedExclusion: TableExclusion): void {\n const foundExclusion = this.exclusions.find(\n (exclusion) => exclusion.name === removedExclusion.name,\n )\n if (foundExclusion) {\n this.exclusions.splice(this.exclusions.indexOf(foundExclusion), 1)\n }\n }\n\n /**\n * Adds foreign keys.\n */\n addForeignKey(foreignKey: TableForeignKey): void {\n this.foreignKeys.push(foreignKey)\n }\n\n /**\n * Removes foreign key.\n */\n removeForeignKey(removedForeignKey: TableForeignKey): void {\n const fk = this.foreignKeys.find(\n (foreignKey) => foreignKey.name === removedForeignKey.name,\n )\n if (fk) this.foreignKeys.splice(this.foreignKeys.indexOf(fk), 1)\n }\n\n /**\n * Adds index.\n */\n addIndex(index: TableIndex, isMysql: boolean = false): void {\n this.indices.push(index)\n\n // in Mysql unique indices and unique constraints are the same thing\n // if index is unique and have only one column, we mark this column as unique\n if (index.columnNames.length === 1 && index.isUnique && isMysql) {\n const column = this.columns.find(\n (c) => c.name === index.columnNames[0],\n )\n if (column) column.isUnique = true\n }\n }\n\n /**\n * Removes index.\n */\n removeIndex(tableIndex: TableIndex, isMysql: boolean = false): void {\n const index = this.indices.find(\n (index) => index.name === tableIndex.name,\n )\n if (index) {\n this.indices.splice(this.indices.indexOf(index), 1)\n\n // in Mysql unique indices and unique constraints are the same thing\n // if index is unique and have only one column, we move `unique` attribute from its column\n if (index.columnNames.length === 1 && index.isUnique && isMysql) {\n const column = this.columns.find(\n (c) => c.name === index.columnNames[0],\n )\n if (column)\n column.isUnique = this.indices.some(\n (ind) =>\n ind.columnNames.length === 1 &&\n ind.columnNames[0] === column.name &&\n !!index.isUnique,\n )\n }\n }\n }\n\n findColumnByName(name: string): TableColumn | undefined {\n return this.columns.find((column) => column.name === name)\n }\n\n /**\n * Returns all column indices.\n */\n findColumnIndices(column: TableColumn): TableIndex[] {\n return this.indices.filter((index) => {\n return !!index.columnNames.find(\n (columnName) => columnName === column.name,\n )\n })\n }\n\n /**\n * Returns all column foreign keys.\n */\n findColumnForeignKeys(column: TableColumn): TableForeignKey[] {\n return this.foreignKeys.filter((foreignKey) => {\n return !!foreignKey.columnNames.find(\n (columnName) => columnName === column.name,\n )\n })\n }\n\n /**\n * Returns all column uniques.\n */\n findColumnUniques(column: TableColumn): TableUnique[] {\n return this.uniques.filter((unique) => {\n return !!unique.columnNames.find(\n (columnName) => columnName === column.name,\n )\n })\n }\n\n /**\n * Returns all column checks.\n */\n findColumnChecks(column: TableColumn): TableCheck[] {\n return this.checks.filter((check) => {\n return !!check.columnNames!.find(\n (columnName) => columnName === column.name,\n )\n })\n }\n\n // -------------------------------------------------------------------------\n // Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates table from a given entity metadata.\n */\n static create(entityMetadata: EntityMetadata, driver: Driver): Table {\n const database =\n entityMetadata.database === driver.database\n ? undefined\n : entityMetadata.database\n const schema =\n entityMetadata.schema === (driver.options as any).schema\n ? undefined\n : entityMetadata.schema\n\n const options: TableOptions = {\n database: entityMetadata.database,\n schema: entityMetadata.schema,\n name: driver.buildTableName(\n entityMetadata.tableName,\n schema,\n database,\n ),\n engine: entityMetadata.engine,\n columns: entityMetadata.columns\n .filter((column) => column)\n .map((column) =>\n TableUtils.createTableColumnOptions(column, driver),\n ),\n indices: entityMetadata.indices\n .filter((index) => index.synchronize === true)\n .map((index) => TableIndex.create(index)),\n uniques: entityMetadata.uniques.map((unique) =>\n TableUnique.create(unique),\n ),\n checks: entityMetadata.checks.map((check) =>\n TableCheck.create(check),\n ),\n exclusions: entityMetadata.exclusions.map((exclusion) =>\n TableExclusion.create(exclusion),\n ),\n }\n\n return new Table(options)\n }\n}\n"],"sourceRoot":"../.."}
|
|
1
|
+
{"version":3,"sources":["../browser/src/schema-builder/table/Table.ts"],"names":[],"mappings":"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","file":"Table.js","sourcesContent":["import { TableColumn } from \"./TableColumn\"\nimport { TableIndex } from \"./TableIndex\"\nimport { TableForeignKey } from \"./TableForeignKey\"\nimport { Driver } from \"../../driver/Driver\"\nimport { TableOptions } from \"../options/TableOptions\"\nimport { EntityMetadata } from \"../../metadata/EntityMetadata\"\nimport { TableUtils } from \"../util/TableUtils\"\nimport { TableUnique } from \"./TableUnique\"\nimport { TableCheck } from \"./TableCheck\"\nimport { TableExclusion } from \"./TableExclusion\"\n\n/**\n * Table in the database represented in this class.\n */\nexport class Table {\n readonly \"@instanceof\" = Symbol.for(\"Table\")\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Database name that this table resides in if it applies.\n */\n database?: string\n\n /**\n * Schema name that this table resides in if it applies.\n */\n schema?: string\n\n /**\n * May contain database name, schema name and table name, unless they're the current database.\n *\n * E.g. myDB.mySchema.myTable\n */\n name: string\n\n /**\n * Table columns.\n */\n columns: TableColumn[] = []\n\n /**\n * Table indices.\n */\n indices: TableIndex[] = []\n\n /**\n * Table foreign keys.\n */\n foreignKeys: TableForeignKey[] = []\n\n /**\n * Table unique constraints.\n */\n uniques: TableUnique[] = []\n\n /**\n * Table check constraints.\n */\n checks: TableCheck[] = []\n\n /**\n * Table exclusion constraints.\n */\n exclusions: TableExclusion[] = []\n\n /**\n * Indicates if table was just created.\n * This is needed, for example to check if we need to skip primary keys creation\n * for new tables.\n */\n justCreated: boolean = false\n\n /**\n * Enables Sqlite \"WITHOUT ROWID\" modifier for the \"CREATE TABLE\" statement\n */\n withoutRowid?: boolean = false\n\n /**\n * Table engine.\n */\n engine?: string\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(options?: TableOptions) {\n if (options) {\n this.database = options.database\n this.schema = options.schema\n this.name = options.name\n\n if (options.columns)\n this.columns = options.columns.map(\n (column) => new TableColumn(column),\n )\n\n if (options.indices)\n this.indices = options.indices.map(\n (index) => new TableIndex(index),\n )\n\n if (options.foreignKeys)\n this.foreignKeys = options.foreignKeys.map(\n (foreignKey) =>\n new TableForeignKey({\n ...foreignKey,\n referencedDatabase:\n foreignKey?.referencedDatabase ||\n options.database,\n referencedSchema:\n foreignKey?.referencedSchema || options.schema,\n }),\n )\n\n if (options.uniques)\n this.uniques = options.uniques.map(\n (unique) => new TableUnique(unique),\n )\n\n if (options.checks)\n this.checks = options.checks.map(\n (check) => new TableCheck(check),\n )\n\n if (options.exclusions)\n this.exclusions = options.exclusions.map(\n (exclusion) => new TableExclusion(exclusion),\n )\n\n if (options.justCreated !== undefined)\n this.justCreated = options.justCreated\n\n if (options.withoutRowid) this.withoutRowid = options.withoutRowid\n\n this.engine = options.engine\n }\n }\n\n // -------------------------------------------------------------------------\n // Accessors\n // -------------------------------------------------------------------------\n\n get primaryColumns(): TableColumn[] {\n return this.columns.filter((column) => column.isPrimary)\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Clones this table to a new table with all properties cloned.\n */\n clone(): Table {\n return new Table({\n schema: this.schema,\n database: this.database,\n name: this.name,\n columns: this.columns.map((column) => column.clone()),\n indices: this.indices.map((constraint) => constraint.clone()),\n foreignKeys: this.foreignKeys.map((constraint) =>\n constraint.clone(),\n ),\n uniques: this.uniques.map((constraint) => constraint.clone()),\n checks: this.checks.map((constraint) => constraint.clone()),\n exclusions: this.exclusions.map((constraint) => constraint.clone()),\n justCreated: this.justCreated,\n withoutRowid: this.withoutRowid,\n engine: this.engine,\n })\n }\n\n /**\n * Add column and creates its constraints.\n */\n addColumn(column: TableColumn): void {\n this.columns.push(column)\n }\n\n /**\n * Remove column and its constraints.\n */\n removeColumn(column: TableColumn): void {\n const foundColumn = this.columns.find((c) => c.name === column.name)\n if (foundColumn)\n this.columns.splice(this.columns.indexOf(foundColumn), 1)\n }\n\n /**\n * Adds unique constraint.\n */\n addUniqueConstraint(uniqueConstraint: TableUnique): void {\n this.uniques.push(uniqueConstraint)\n if (uniqueConstraint.columnNames.length === 1) {\n const uniqueColumn = this.columns.find(\n (column) => column.name === uniqueConstraint.columnNames[0],\n )\n if (uniqueColumn) uniqueColumn.isUnique = true\n }\n }\n\n /**\n * Removes unique constraint.\n */\n removeUniqueConstraint(removedUnique: TableUnique): void {\n const foundUnique = this.uniques.find(\n (unique) => unique.name === removedUnique.name,\n )\n if (foundUnique) {\n this.uniques.splice(this.uniques.indexOf(foundUnique), 1)\n if (foundUnique.columnNames.length === 1) {\n const uniqueColumn = this.columns.find(\n (column) => column.name === foundUnique.columnNames[0],\n )\n if (uniqueColumn) uniqueColumn.isUnique = false\n }\n }\n }\n\n /**\n * Adds check constraint.\n */\n addCheckConstraint(checkConstraint: TableCheck): void {\n this.checks.push(checkConstraint)\n }\n\n /**\n * Removes check constraint.\n */\n removeCheckConstraint(removedCheck: TableCheck): void {\n const foundCheck = this.checks.find(\n (check) => check.name === removedCheck.name,\n )\n if (foundCheck) {\n this.checks.splice(this.checks.indexOf(foundCheck), 1)\n }\n }\n\n /**\n * Adds exclusion constraint.\n */\n addExclusionConstraint(exclusionConstraint: TableExclusion): void {\n this.exclusions.push(exclusionConstraint)\n }\n\n /**\n * Removes exclusion constraint.\n */\n removeExclusionConstraint(removedExclusion: TableExclusion): void {\n const foundExclusion = this.exclusions.find(\n (exclusion) => exclusion.name === removedExclusion.name,\n )\n if (foundExclusion) {\n this.exclusions.splice(this.exclusions.indexOf(foundExclusion), 1)\n }\n }\n\n /**\n * Adds foreign keys.\n */\n addForeignKey(foreignKey: TableForeignKey): void {\n this.foreignKeys.push(foreignKey)\n }\n\n /**\n * Removes foreign key.\n */\n removeForeignKey(removedForeignKey: TableForeignKey): void {\n const fk = this.foreignKeys.find(\n (foreignKey) => foreignKey.name === removedForeignKey.name,\n )\n if (fk) this.foreignKeys.splice(this.foreignKeys.indexOf(fk), 1)\n }\n\n /**\n * Adds index.\n */\n addIndex(index: TableIndex, isMysql: boolean = false): void {\n this.indices.push(index)\n\n // in Mysql unique indices and unique constraints are the same thing\n // if index is unique and have only one column, we mark this column as unique\n if (index.columnNames.length === 1 && index.isUnique && isMysql) {\n const column = this.columns.find(\n (c) => c.name === index.columnNames[0],\n )\n if (column) column.isUnique = true\n }\n }\n\n /**\n * Removes index.\n */\n removeIndex(tableIndex: TableIndex, isMysql: boolean = false): void {\n const index = this.indices.find(\n (index) => index.name === tableIndex.name,\n )\n if (index) {\n this.indices.splice(this.indices.indexOf(index), 1)\n\n // in Mysql unique indices and unique constraints are the same thing\n // if index is unique and have only one column, we move `unique` attribute from its column\n if (index.columnNames.length === 1 && index.isUnique && isMysql) {\n const column = this.columns.find(\n (c) => c.name === index.columnNames[0],\n )\n if (column)\n column.isUnique = this.indices.some(\n (ind) =>\n ind.columnNames.length === 1 &&\n ind.columnNames[0] === column.name &&\n !!index.isUnique,\n )\n }\n }\n }\n\n findColumnByName(name: string): TableColumn | undefined {\n return this.columns.find((column) => column.name === name)\n }\n\n /**\n * Returns all column indices.\n */\n findColumnIndices(column: TableColumn): TableIndex[] {\n return this.indices.filter((index) => {\n return !!index.columnNames.find(\n (columnName) => columnName === column.name,\n )\n })\n }\n\n /**\n * Returns all column foreign keys.\n */\n findColumnForeignKeys(column: TableColumn): TableForeignKey[] {\n return this.foreignKeys.filter((foreignKey) => {\n return !!foreignKey.columnNames.find(\n (columnName) => columnName === column.name,\n )\n })\n }\n\n /**\n * Returns all column uniques.\n */\n findColumnUniques(column: TableColumn): TableUnique[] {\n return this.uniques.filter((unique) => {\n return !!unique.columnNames.find(\n (columnName) => columnName === column.name,\n )\n })\n }\n\n /**\n * Returns all column checks.\n */\n findColumnChecks(column: TableColumn): TableCheck[] {\n return this.checks.filter((check) => {\n return !!check.columnNames!.find(\n (columnName) => columnName === column.name,\n )\n })\n }\n\n // -------------------------------------------------------------------------\n // Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates table from a given entity metadata.\n */\n static create(entityMetadata: EntityMetadata, driver: Driver): Table {\n const database =\n entityMetadata.database === driver.database\n ? undefined\n : entityMetadata.database\n const schema =\n entityMetadata.schema === (driver.options as any).schema\n ? undefined\n : entityMetadata.schema\n\n const options: TableOptions = {\n database: entityMetadata.database,\n schema: entityMetadata.schema,\n name: driver.buildTableName(\n entityMetadata.tableName,\n schema,\n database,\n ),\n withoutRowid: entityMetadata.withoutRowid,\n engine: entityMetadata.engine,\n columns: entityMetadata.columns\n .filter((column) => column)\n .map((column) =>\n TableUtils.createTableColumnOptions(column, driver),\n ),\n indices: entityMetadata.indices\n .filter((index) => index.synchronize === true)\n .map((index) => TableIndex.create(index)),\n uniques: entityMetadata.uniques.map((unique) =>\n TableUnique.create(unique),\n ),\n checks: entityMetadata.checks.map((check) =>\n TableCheck.create(check),\n ),\n exclusions: entityMetadata.exclusions.map((exclusion) =>\n TableExclusion.create(exclusion),\n ),\n }\n\n return new Table(options)\n }\n}\n"],"sourceRoot":"../.."}
|
|
@@ -48,7 +48,7 @@ export declare class DateUtils {
|
|
|
48
48
|
static simpleEnumToString(value: any): string;
|
|
49
49
|
static stringToSimpleEnum(value: any, columnMetadata: ColumnMetadata): any;
|
|
50
50
|
/**
|
|
51
|
-
* Formats given number to "0x" format, e.g. if
|
|
51
|
+
* Formats given number to "0x" format, e.g. if the totalLength = 2 and the value is 1 then it will return "01".
|
|
52
52
|
*/
|
|
53
53
|
private static formatZerolessValue;
|
|
54
54
|
/**
|
|
@@ -21,7 +21,7 @@ export class DateUtils {
|
|
|
21
21
|
*/
|
|
22
22
|
static mixedDateToDateString(value) {
|
|
23
23
|
if (value instanceof Date)
|
|
24
|
-
return (this.formatZerolessValue(value.getFullYear()) +
|
|
24
|
+
return (this.formatZerolessValue(value.getFullYear(), 4) +
|
|
25
25
|
"-" +
|
|
26
26
|
this.formatZerolessValue(value.getMonth() + 1) +
|
|
27
27
|
"-" +
|
|
@@ -110,7 +110,7 @@ export class DateUtils {
|
|
|
110
110
|
value = new Date(value);
|
|
111
111
|
}
|
|
112
112
|
if (value instanceof Date) {
|
|
113
|
-
let finalValue = this.formatZerolessValue(value.getFullYear()) +
|
|
113
|
+
let finalValue = this.formatZerolessValue(value.getFullYear(), 4) +
|
|
114
114
|
"-" +
|
|
115
115
|
this.formatZerolessValue(value.getMonth() + 1) +
|
|
116
116
|
"-" +
|
|
@@ -135,7 +135,7 @@ export class DateUtils {
|
|
|
135
135
|
value = new Date(value);
|
|
136
136
|
}
|
|
137
137
|
if (value instanceof Date) {
|
|
138
|
-
return (this.formatZerolessValue(value.getUTCFullYear()) +
|
|
138
|
+
return (this.formatZerolessValue(value.getUTCFullYear(), 4) +
|
|
139
139
|
"-" +
|
|
140
140
|
this.formatZerolessValue(value.getUTCMonth() + 1) +
|
|
141
141
|
"-" +
|
|
@@ -196,12 +196,11 @@ export class DateUtils {
|
|
|
196
196
|
// Private Static Methods
|
|
197
197
|
// -------------------------------------------------------------------------
|
|
198
198
|
/**
|
|
199
|
-
* Formats given number to "0x" format, e.g. if
|
|
199
|
+
* Formats given number to "0x" format, e.g. if the totalLength = 2 and the value is 1 then it will return "01".
|
|
200
200
|
*/
|
|
201
|
-
static formatZerolessValue(value) {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
return String(value);
|
|
201
|
+
static formatZerolessValue(value, totalLength = 2) {
|
|
202
|
+
const pad = "0".repeat(totalLength);
|
|
203
|
+
return String(`${pad}${value}`).slice(-totalLength);
|
|
205
204
|
}
|
|
206
205
|
/**
|
|
207
206
|
* Formats given number to "0x" format, e.g. if it is 1 then it will return "01".
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../browser/src/util/DateUtils.ts"],"names":[],"mappings":"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","file":"DateUtils.js","sourcesContent":["import { ColumnMetadata } from \"../metadata/ColumnMetadata\"\nimport { parseISO } from \"date-fns\"\n\n/**\n * Provides utilities to transform hydrated and persisted data.\n */\nexport class DateUtils {\n // -------------------------------------------------------------------------\n // Public Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Normalizes date object hydrated from the database.\n */\n static normalizeHydratedDate(\n mixedDate: Date | string | undefined,\n ): Date | string | undefined {\n if (!mixedDate) return mixedDate\n\n return typeof mixedDate === \"string\"\n ? new Date(mixedDate)\n : (mixedDate as Date)\n }\n\n /**\n * Converts given value into date string in a \"YYYY-MM-DD\" format.\n */\n static mixedDateToDateString(value: string | Date): string {\n if (value instanceof Date)\n return (\n this.formatZerolessValue(value.getFullYear()) +\n \"-\" +\n this.formatZerolessValue(value.getMonth() + 1) +\n \"-\" +\n this.formatZerolessValue(value.getDate())\n )\n\n return value\n }\n\n /**\n * Converts given value into date object.\n */\n static mixedDateToDate(\n mixedDate: Date | string,\n toUtc: boolean = false,\n useMilliseconds = true,\n ): Date {\n /**\n * new Date(ISOString) is not a reliable parser to date strings.\n * It's better to use 'date-fns' parser to parser string in ISO Format.\n *\n * The problem here is with wrong timezone.\n *\n * For example:\n *\n * ``new Date('2021-04-28')`` will generate `2021-04-28T00:00:00.000Z`\n * in my timezone, which is not true for my timezone (GMT-0300). It should\n * be `2021-04-28T03:00:00.000Z` as `new Date(2021, 3, 28)` generates.\n *\n * https://stackoverflow.com/a/2587398\n */\n let date =\n typeof mixedDate === \"string\" ? parseISO(mixedDate) : mixedDate\n\n if (toUtc)\n date = new Date(\n date.getUTCFullYear(),\n date.getUTCMonth(),\n date.getUTCDate(),\n date.getUTCHours(),\n date.getUTCMinutes(),\n date.getUTCSeconds(),\n date.getUTCMilliseconds(),\n )\n\n if (!useMilliseconds) date.setUTCMilliseconds(0)\n\n return date\n }\n\n /**\n * Converts given value into time string in a \"HH:mm:ss\" format.\n */\n static mixedDateToTimeString(\n value: Date | any,\n skipSeconds: boolean = false,\n ): string | any {\n if (value instanceof Date)\n return (\n this.formatZerolessValue(value.getHours()) +\n \":\" +\n this.formatZerolessValue(value.getMinutes()) +\n (!skipSeconds\n ? \":\" + this.formatZerolessValue(value.getSeconds())\n : \"\")\n )\n\n return value\n }\n\n /**\n * Converts given value into time string in a \"HH:mm:ss\" format.\n */\n static mixedTimeToDate(value: Date | any): string | any {\n if (typeof value === \"string\") {\n const [hours, minutes, seconds] = value.split(\":\")\n const date = new Date()\n if (hours) date.setHours(parseInt(hours))\n if (minutes) date.setMinutes(parseInt(minutes))\n if (seconds) date.setSeconds(parseInt(seconds))\n return date\n }\n\n return value\n }\n\n /**\n * Converts given string value with \"-\" separator into a \"HH:mm:ss\" format.\n */\n static mixedTimeToString(\n value: string | any,\n skipSeconds: boolean = false,\n ): string | any {\n value =\n value instanceof Date\n ? value.getHours() +\n \":\" +\n value.getMinutes() +\n (!skipSeconds ? \":\" + value.getSeconds() : \"\")\n : value\n if (typeof value === \"string\") {\n return value\n .split(\":\")\n .map((v) => (v.length === 1 ? \"0\" + v : v)) // append zero at beginning if we have a first-zero-less number\n .join(\":\")\n }\n\n return value\n }\n\n /**\n * Converts given value into datetime string in a \"YYYY-MM-DD HH-mm-ss\" format.\n */\n static mixedDateToDatetimeString(\n value: Date | any,\n useMilliseconds?: boolean,\n ): string | any {\n if (typeof value === \"string\") {\n value = new Date(value)\n }\n if (value instanceof Date) {\n let finalValue =\n this.formatZerolessValue(value.getFullYear()) +\n \"-\" +\n this.formatZerolessValue(value.getMonth() + 1) +\n \"-\" +\n this.formatZerolessValue(value.getDate()) +\n \" \" +\n this.formatZerolessValue(value.getHours()) +\n \":\" +\n this.formatZerolessValue(value.getMinutes()) +\n \":\" +\n this.formatZerolessValue(value.getSeconds())\n\n if (useMilliseconds)\n finalValue += `.${this.formatMilliseconds(\n value.getMilliseconds(),\n )}`\n\n value = finalValue\n }\n\n return value\n }\n\n /**\n * Converts given value into utc datetime string in a \"YYYY-MM-DD HH-mm-ss.sss\" format.\n */\n static mixedDateToUtcDatetimeString(value: Date | any): string | any {\n if (typeof value === \"string\") {\n value = new Date(value)\n }\n if (value instanceof Date) {\n return (\n this.formatZerolessValue(value.getUTCFullYear()) +\n \"-\" +\n this.formatZerolessValue(value.getUTCMonth() + 1) +\n \"-\" +\n this.formatZerolessValue(value.getUTCDate()) +\n \" \" +\n this.formatZerolessValue(value.getUTCHours()) +\n \":\" +\n this.formatZerolessValue(value.getUTCMinutes()) +\n \":\" +\n this.formatZerolessValue(value.getUTCSeconds()) +\n \".\" +\n this.formatMilliseconds(value.getUTCMilliseconds())\n )\n }\n\n return value\n }\n\n /**\n * Converts each item in the given array to string joined by \",\" separator.\n */\n static simpleArrayToString(value: any[] | any): string[] | any {\n if (Array.isArray(value)) {\n return (value as any[]).map((i) => String(i)).join(\",\")\n }\n\n return value\n }\n\n /**\n * Converts given string to simple array split by \",\" separator.\n */\n static stringToSimpleArray(value: string | any): string | any {\n if (typeof value === \"string\") {\n if (value.length > 0) {\n return value.split(\",\")\n } else {\n return []\n }\n }\n\n return value\n }\n\n static simpleJsonToString(value: any): string {\n return JSON.stringify(value)\n }\n\n static stringToSimpleJson(value: any) {\n return typeof value === \"string\" ? JSON.parse(value) : value\n }\n\n static simpleEnumToString(value: any) {\n return \"\" + value\n }\n\n static stringToSimpleEnum(value: any, columnMetadata: ColumnMetadata) {\n if (\n columnMetadata.enum &&\n !isNaN(value) &&\n columnMetadata.enum.indexOf(parseInt(value)) >= 0\n ) {\n // convert to number if that exists in poosible enum options\n value = parseInt(value)\n }\n\n return value\n }\n\n // -------------------------------------------------------------------------\n // Private Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Formats given number to \"0x\" format, e.g. if it is 1 then it will return \"01\".\n */\n private static formatZerolessValue(value: number): string {\n if (value < 10) return \"0\" + value\n\n return String(value)\n }\n\n /**\n * Formats given number to \"0x\" format, e.g. if it is 1 then it will return \"01\".\n */\n private static formatMilliseconds(value: number): string {\n if (value < 10) {\n return \"00\" + value\n } else if (value < 100) {\n return \"0\" + value\n } else {\n return String(value)\n }\n }\n}\n"],"sourceRoot":".."}
|
|
1
|
+
{"version":3,"sources":["../browser/src/util/DateUtils.ts"],"names":[],"mappings":"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","file":"DateUtils.js","sourcesContent":["import { ColumnMetadata } from \"../metadata/ColumnMetadata\"\nimport { parseISO } from \"date-fns\"\n\n/**\n * Provides utilities to transform hydrated and persisted data.\n */\nexport class DateUtils {\n // -------------------------------------------------------------------------\n // Public Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Normalizes date object hydrated from the database.\n */\n static normalizeHydratedDate(\n mixedDate: Date | string | undefined,\n ): Date | string | undefined {\n if (!mixedDate) return mixedDate\n\n return typeof mixedDate === \"string\"\n ? new Date(mixedDate)\n : (mixedDate as Date)\n }\n\n /**\n * Converts given value into date string in a \"YYYY-MM-DD\" format.\n */\n static mixedDateToDateString(value: string | Date): string {\n if (value instanceof Date)\n return (\n this.formatZerolessValue(value.getFullYear(), 4) +\n \"-\" +\n this.formatZerolessValue(value.getMonth() + 1) +\n \"-\" +\n this.formatZerolessValue(value.getDate())\n )\n\n return value\n }\n\n /**\n * Converts given value into date object.\n */\n static mixedDateToDate(\n mixedDate: Date | string,\n toUtc: boolean = false,\n useMilliseconds = true,\n ): Date {\n /**\n * new Date(ISOString) is not a reliable parser to date strings.\n * It's better to use 'date-fns' parser to parser string in ISO Format.\n *\n * The problem here is with wrong timezone.\n *\n * For example:\n *\n * ``new Date('2021-04-28')`` will generate `2021-04-28T00:00:00.000Z`\n * in my timezone, which is not true for my timezone (GMT-0300). It should\n * be `2021-04-28T03:00:00.000Z` as `new Date(2021, 3, 28)` generates.\n *\n * https://stackoverflow.com/a/2587398\n */\n let date =\n typeof mixedDate === \"string\" ? parseISO(mixedDate) : mixedDate\n\n if (toUtc)\n date = new Date(\n date.getUTCFullYear(),\n date.getUTCMonth(),\n date.getUTCDate(),\n date.getUTCHours(),\n date.getUTCMinutes(),\n date.getUTCSeconds(),\n date.getUTCMilliseconds(),\n )\n\n if (!useMilliseconds) date.setUTCMilliseconds(0)\n\n return date\n }\n\n /**\n * Converts given value into time string in a \"HH:mm:ss\" format.\n */\n static mixedDateToTimeString(\n value: Date | any,\n skipSeconds: boolean = false,\n ): string | any {\n if (value instanceof Date)\n return (\n this.formatZerolessValue(value.getHours()) +\n \":\" +\n this.formatZerolessValue(value.getMinutes()) +\n (!skipSeconds\n ? \":\" + this.formatZerolessValue(value.getSeconds())\n : \"\")\n )\n\n return value\n }\n\n /**\n * Converts given value into time string in a \"HH:mm:ss\" format.\n */\n static mixedTimeToDate(value: Date | any): string | any {\n if (typeof value === \"string\") {\n const [hours, minutes, seconds] = value.split(\":\")\n const date = new Date()\n if (hours) date.setHours(parseInt(hours))\n if (minutes) date.setMinutes(parseInt(minutes))\n if (seconds) date.setSeconds(parseInt(seconds))\n return date\n }\n\n return value\n }\n\n /**\n * Converts given string value with \"-\" separator into a \"HH:mm:ss\" format.\n */\n static mixedTimeToString(\n value: string | any,\n skipSeconds: boolean = false,\n ): string | any {\n value =\n value instanceof Date\n ? value.getHours() +\n \":\" +\n value.getMinutes() +\n (!skipSeconds ? \":\" + value.getSeconds() : \"\")\n : value\n if (typeof value === \"string\") {\n return value\n .split(\":\")\n .map((v) => (v.length === 1 ? \"0\" + v : v)) // append zero at beginning if we have a first-zero-less number\n .join(\":\")\n }\n\n return value\n }\n\n /**\n * Converts given value into datetime string in a \"YYYY-MM-DD HH-mm-ss\" format.\n */\n static mixedDateToDatetimeString(\n value: Date | any,\n useMilliseconds?: boolean,\n ): string | any {\n if (typeof value === \"string\") {\n value = new Date(value)\n }\n if (value instanceof Date) {\n let finalValue =\n this.formatZerolessValue(value.getFullYear(), 4) +\n \"-\" +\n this.formatZerolessValue(value.getMonth() + 1) +\n \"-\" +\n this.formatZerolessValue(value.getDate()) +\n \" \" +\n this.formatZerolessValue(value.getHours()) +\n \":\" +\n this.formatZerolessValue(value.getMinutes()) +\n \":\" +\n this.formatZerolessValue(value.getSeconds())\n\n if (useMilliseconds)\n finalValue += `.${this.formatMilliseconds(\n value.getMilliseconds(),\n )}`\n\n value = finalValue\n }\n\n return value\n }\n\n /**\n * Converts given value into utc datetime string in a \"YYYY-MM-DD HH-mm-ss.sss\" format.\n */\n static mixedDateToUtcDatetimeString(value: Date | any): string | any {\n if (typeof value === \"string\") {\n value = new Date(value)\n }\n if (value instanceof Date) {\n return (\n this.formatZerolessValue(value.getUTCFullYear(), 4) +\n \"-\" +\n this.formatZerolessValue(value.getUTCMonth() + 1) +\n \"-\" +\n this.formatZerolessValue(value.getUTCDate()) +\n \" \" +\n this.formatZerolessValue(value.getUTCHours()) +\n \":\" +\n this.formatZerolessValue(value.getUTCMinutes()) +\n \":\" +\n this.formatZerolessValue(value.getUTCSeconds()) +\n \".\" +\n this.formatMilliseconds(value.getUTCMilliseconds())\n )\n }\n\n return value\n }\n\n /**\n * Converts each item in the given array to string joined by \",\" separator.\n */\n static simpleArrayToString(value: any[] | any): string[] | any {\n if (Array.isArray(value)) {\n return (value as any[]).map((i) => String(i)).join(\",\")\n }\n\n return value\n }\n\n /**\n * Converts given string to simple array split by \",\" separator.\n */\n static stringToSimpleArray(value: string | any): string | any {\n if (typeof value === \"string\") {\n if (value.length > 0) {\n return value.split(\",\")\n } else {\n return []\n }\n }\n\n return value\n }\n\n static simpleJsonToString(value: any): string {\n return JSON.stringify(value)\n }\n\n static stringToSimpleJson(value: any) {\n return typeof value === \"string\" ? JSON.parse(value) : value\n }\n\n static simpleEnumToString(value: any) {\n return \"\" + value\n }\n\n static stringToSimpleEnum(value: any, columnMetadata: ColumnMetadata) {\n if (\n columnMetadata.enum &&\n !isNaN(value) &&\n columnMetadata.enum.indexOf(parseInt(value)) >= 0\n ) {\n // convert to number if that exists in poosible enum options\n value = parseInt(value)\n }\n\n return value\n }\n\n // -------------------------------------------------------------------------\n // Private Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Formats given number to \"0x\" format, e.g. if the totalLength = 2 and the value is 1 then it will return \"01\".\n */\n private static formatZerolessValue(value: number, totalLength = 2): string {\n const pad = \"0\".repeat(totalLength)\n\n return String(`${pad}${value}`).slice(-totalLength)\n }\n\n /**\n * Formats given number to \"0x\" format, e.g. if it is 1 then it will return \"01\".\n */\n private static formatMilliseconds(value: number): string {\n if (value < 10) {\n return \"00\" + value\n } else if (value < 100) {\n return \"0\" + value\n } else {\n return String(value)\n }\n }\n}\n"],"sourceRoot":".."}
|
|
@@ -984,7 +984,7 @@ class AuroraMysqlQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
984
984
|
: await this.getCachedTable(tableOrName);
|
|
985
985
|
// new index may be passed without name. In this case we generate index name manually.
|
|
986
986
|
if (!index.name)
|
|
987
|
-
index.name = this.
|
|
987
|
+
index.name = this.generateIndexName(table, index);
|
|
988
988
|
const up = this.createIndexSql(table, index);
|
|
989
989
|
const down = this.dropIndexSql(table, index);
|
|
990
990
|
await this.executeQueries(up, down);
|
|
@@ -1009,6 +1009,9 @@ class AuroraMysqlQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
1009
1009
|
: table.indices.find((i) => i.name === indexOrName);
|
|
1010
1010
|
if (!index)
|
|
1011
1011
|
throw new error_1.TypeORMError(`Supplied index ${indexOrName} was not found in table ${table.name}`);
|
|
1012
|
+
// old index may be passed without name. In this case we generate index name manually.
|
|
1013
|
+
if (!index.name)
|
|
1014
|
+
index.name = this.generateIndexName(table, index);
|
|
1012
1015
|
const up = this.dropIndexSql(table, index);
|
|
1013
1016
|
const down = this.createIndexSql(table, index);
|
|
1014
1017
|
await this.executeQueries(up, down);
|