typeorm 0.2.42-dev.54cf660 → 0.2.42-dev.600bd4e
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/README.md +38 -0
- package/browser/cache/RedisQueryResultCache.js +40 -35
- package/browser/cache/RedisQueryResultCache.js.map +1 -1
- package/browser/common/RelationType.d.ts +14 -0
- package/browser/common/RelationType.js +3 -0
- package/browser/common/RelationType.js.map +1 -0
- package/browser/connection/BaseConnectionOptions.d.ts +5 -0
- package/browser/connection/BaseConnectionOptions.js.map +1 -1
- package/browser/connection/Connection.d.ts +7 -3
- package/browser/connection/Connection.js +47 -31
- package/browser/connection/Connection.js.map +1 -1
- package/browser/connection/ConnectionMetadataBuilder.d.ts +3 -3
- package/browser/connection/ConnectionMetadataBuilder.js +54 -22
- package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/browser/connection/ConnectionOptionsReader.js +33 -28
- package/browser/connection/ConnectionOptionsReader.js.map +1 -1
- package/browser/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
- package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
- package/browser/decorator/Unique.d.ts +5 -4
- package/browser/decorator/Unique.js +7 -3
- package/browser/decorator/Unique.js.map +1 -1
- package/browser/decorator/options/RelationOptions.d.ts +1 -1
- package/browser/decorator/options/RelationOptions.js.map +1 -1
- package/browser/decorator/options/UniqueOptions.d.ts +10 -0
- package/browser/decorator/options/UniqueOptions.js +3 -0
- package/browser/decorator/options/UniqueOptions.js.map +1 -0
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +2 -2
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +7 -5
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.js +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/browser/driver/mongodb/MongoConnectionOptions.d.ts +1 -1
- package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.js +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/browser/driver/oracle/OracleQueryRunner.js +1 -1
- package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.js +49 -18
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/driver/sap/SapQueryRunner.js +1 -1
- package/browser/driver/sap/SapQueryRunner.js.map +1 -1
- package/browser/driver/sqlite/SqliteDriver.js +11 -10
- package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/browser/entity-manager/EntityManager.d.ts +2 -2
- package/browser/entity-manager/EntityManager.js +2 -12
- package/browser/entity-manager/EntityManager.js.map +1 -1
- package/browser/entity-manager/MongoEntityManager.js +2 -1
- package/browser/entity-manager/MongoEntityManager.js.map +1 -1
- package/browser/entity-schema/EntitySchemaOptions.d.ts +6 -0
- package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaRelationOptions.d.ts +7 -1
- package/browser/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaTransformer.js +4 -1
- package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/browser/entity-schema/EntitySchemaUniqueOptions.d.ts +5 -0
- package/browser/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
- package/browser/find-options/FindOneOptions.d.ts +6 -0
- package/browser/find-options/FindOneOptions.js.map +1 -1
- package/browser/find-options/FindOptionsUtils.js +4 -0
- package/browser/find-options/FindOptionsUtils.js.map +1 -1
- package/browser/find-options/operator/Like.d.ts +1 -1
- package/browser/find-options/operator/Like.js +1 -1
- package/browser/find-options/operator/Like.js.map +1 -1
- package/browser/find-options/operator/Not.d.ts +1 -1
- package/browser/find-options/operator/Not.js +1 -1
- package/browser/find-options/operator/Not.js.map +1 -1
- package/browser/globals.js +34 -7
- package/browser/globals.js.map +1 -1
- package/browser/index.d.ts +2 -0
- package/browser/index.js +2 -0
- package/browser/index.js.map +1 -1
- package/browser/metadata/RelationMetadata.d.ts +1 -1
- package/browser/metadata/RelationMetadata.js.map +1 -1
- package/browser/metadata/UniqueMetadata.d.ts +5 -0
- package/browser/metadata/UniqueMetadata.js +1 -0
- package/browser/metadata/UniqueMetadata.js.map +1 -1
- package/browser/metadata-args/UniqueMetadataArgs.d.ts +5 -0
- package/browser/metadata-args/UniqueMetadataArgs.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataValidator.js +1 -0
- package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/browser/migration/MigrationExecutor.js +1 -1
- package/browser/migration/MigrationExecutor.js.map +1 -1
- package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +3 -0
- package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
- package/browser/platform/PlatformTools.d.ts +1 -0
- package/browser/platform/PlatformTools.js +5 -0
- package/browser/platform/PlatformTools.js.map +1 -1
- package/browser/query-builder/DeleteQueryBuilder.d.ts +4 -2
- package/browser/query-builder/DeleteQueryBuilder.js +4 -2
- package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/InsertQueryBuilder.d.ts +1 -1
- package/browser/query-builder/InsertQueryBuilder.js +3 -3
- package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
- package/browser/query-builder/NotBrackets.d.ts +7 -0
- package/browser/query-builder/NotBrackets.js +16 -0
- package/browser/query-builder/NotBrackets.js.map +1 -0
- package/browser/query-builder/QueryBuilder.d.ts +3 -2
- package/browser/query-builder/QueryBuilder.js +2 -1
- package/browser/query-builder/QueryBuilder.js.map +1 -1
- package/browser/query-builder/RelationLoader.js +11 -6
- package/browser/query-builder/RelationLoader.js.map +1 -1
- package/browser/query-builder/RelationQueryBuilder.d.ts +1 -1
- package/browser/query-builder/RelationQueryBuilder.js +1 -1
- package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilder.d.ts +10 -1
- package/browser/query-builder/SelectQueryBuilder.js +28 -21
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-builder/SoftDeleteQueryBuilder.d.ts +1 -1
- package/browser/query-builder/SoftDeleteQueryBuilder.js +1 -1
- package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/UpdateQueryBuilder.d.ts +4 -2
- package/browser/query-builder/UpdateQueryBuilder.js +11 -6
- package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/browser/query-builder/WhereExpressionBuilder.d.ts +3 -1
- package/browser/query-builder/WhereExpressionBuilder.js.map +1 -1
- package/browser/query-runner/BaseQueryRunner.d.ts +2 -2
- package/browser/query-runner/BaseQueryRunner.js +3 -3
- package/browser/query-runner/BaseQueryRunner.js.map +1 -1
- package/browser/repository/AbstractRepository.d.ts +2 -2
- package/browser/repository/AbstractRepository.js +2 -2
- package/browser/repository/AbstractRepository.js.map +1 -1
- package/browser/repository/BaseEntity.d.ts +1 -1
- package/browser/repository/BaseEntity.js +1 -1
- package/browser/repository/BaseEntity.js.map +1 -1
- package/browser/repository/Repository.d.ts +1 -1
- package/browser/repository/Repository.js +1 -1
- package/browser/repository/Repository.js.map +1 -1
- package/browser/repository/TreeRepository.js +1 -1
- package/browser/repository/TreeRepository.js.map +1 -1
- package/browser/schema-builder/RdbmsSchemaBuilder.js +1 -1
- package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/browser/schema-builder/options/TableUniqueOptions.d.ts +5 -0
- package/browser/schema-builder/options/TableUniqueOptions.js.map +1 -1
- package/browser/schema-builder/table/TableUnique.d.ts +5 -0
- package/browser/schema-builder/table/TableUnique.js +5 -2
- package/browser/schema-builder/table/TableUnique.js.map +1 -1
- package/browser/util/DirectoryExportedClassesLoader.d.ts +1 -1
- package/browser/util/DirectoryExportedClassesLoader.js +55 -31
- package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/browser/util/ImportUtils.d.ts +1 -0
- package/browser/util/ImportUtils.js +90 -0
- package/browser/util/ImportUtils.js.map +1 -0
- package/browser/util/RandomGenerator.d.ts +0 -4
- package/browser/util/RandomGenerator.js +0 -9
- package/browser/util/RandomGenerator.js.map +1 -1
- package/cache/RedisQueryResultCache.js +39 -34
- package/cache/RedisQueryResultCache.js.map +1 -1
- package/commands/CacheClearCommand.js +3 -3
- package/commands/CacheClearCommand.js.map +1 -1
- package/commands/CommandUtils.d.ts +4 -0
- package/commands/CommandUtils.js +10 -0
- package/commands/CommandUtils.js.map +1 -1
- package/commands/EntityCreateCommand.js +2 -2
- package/commands/EntityCreateCommand.js.map +1 -1
- package/commands/InitCommand.d.ts +9 -7
- package/commands/InitCommand.js +74 -45
- package/commands/InitCommand.js.map +1 -1
- package/commands/MigrationCreateCommand.d.ts +2 -0
- package/commands/MigrationCreateCommand.js +9 -3
- package/commands/MigrationCreateCommand.js.map +1 -1
- package/commands/MigrationGenerateCommand.d.ts +2 -0
- package/commands/MigrationGenerateCommand.js +9 -3
- package/commands/MigrationGenerateCommand.js.map +1 -1
- package/commands/MigrationRevertCommand.js +2 -3
- package/commands/MigrationRevertCommand.js.map +1 -1
- package/commands/MigrationRunCommand.js +2 -3
- package/commands/MigrationRunCommand.js.map +1 -1
- package/commands/MigrationShowCommand.js +2 -3
- package/commands/MigrationShowCommand.js.map +1 -1
- package/commands/QueryCommand.d.ts +1 -1
- package/commands/QueryCommand.js +2 -3
- package/commands/QueryCommand.js.map +1 -1
- package/commands/SchemaDropCommand.js +2 -2
- package/commands/SchemaDropCommand.js.map +1 -1
- package/commands/SchemaLogCommand.js +2 -2
- package/commands/SchemaLogCommand.js.map +1 -1
- package/commands/SchemaSyncCommand.js +2 -2
- package/commands/SchemaSyncCommand.js.map +1 -1
- package/commands/SubscriberCreateCommand.js +3 -3
- package/commands/SubscriberCreateCommand.js.map +1 -1
- package/common/RelationType.d.ts +14 -0
- package/common/RelationType.js +4 -0
- package/common/RelationType.js.map +1 -0
- package/connection/BaseConnectionOptions.d.ts +5 -0
- package/connection/BaseConnectionOptions.js.map +1 -1
- package/connection/Connection.d.ts +7 -3
- package/connection/Connection.js +47 -31
- package/connection/Connection.js.map +1 -1
- package/connection/ConnectionMetadataBuilder.d.ts +3 -3
- package/connection/ConnectionMetadataBuilder.js +53 -21
- package/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/connection/ConnectionOptionsReader.js +32 -27
- package/connection/ConnectionOptionsReader.js.map +1 -1
- package/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
- package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
- package/decorator/Unique.d.ts +5 -4
- package/decorator/Unique.js +7 -3
- package/decorator/Unique.js.map +1 -1
- package/decorator/options/RelationOptions.d.ts +1 -1
- package/decorator/options/RelationOptions.js.map +1 -1
- package/decorator/options/UniqueOptions.d.ts +10 -0
- package/decorator/options/UniqueOptions.js +4 -0
- package/decorator/options/UniqueOptions.js.map +1 -0
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +2 -2
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
- package/driver/better-sqlite3/BetterSqlite3Driver.js +7 -5
- package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.js +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/driver/mongodb/MongoConnectionOptions.d.ts +1 -1
- package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/driver/mysql/MysqlQueryRunner.js +1 -1
- package/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/driver/oracle/OracleQueryRunner.js +1 -1
- package/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.js +49 -18
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/sap/SapQueryRunner.js +1 -1
- package/driver/sap/SapQueryRunner.js.map +1 -1
- package/driver/sqlite/SqliteDriver.js +11 -10
- package/driver/sqlite/SqliteDriver.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/entity-manager/EntityManager.d.ts +2 -2
- package/entity-manager/EntityManager.js +2 -12
- package/entity-manager/EntityManager.js.map +1 -1
- package/entity-manager/MongoEntityManager.js +2 -1
- package/entity-manager/MongoEntityManager.js.map +1 -1
- package/entity-schema/EntitySchemaOptions.d.ts +6 -0
- package/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/entity-schema/EntitySchemaRelationOptions.d.ts +7 -1
- package/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
- package/entity-schema/EntitySchemaTransformer.js +4 -1
- package/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/entity-schema/EntitySchemaUniqueOptions.d.ts +5 -0
- package/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
- package/find-options/FindOneOptions.d.ts +6 -0
- package/find-options/FindOneOptions.js.map +1 -1
- package/find-options/FindOptionsUtils.js +4 -0
- package/find-options/FindOptionsUtils.js.map +1 -1
- package/find-options/operator/Like.d.ts +1 -1
- package/find-options/operator/Like.js +1 -1
- package/find-options/operator/Like.js.map +1 -1
- package/find-options/operator/Not.d.ts +1 -1
- package/find-options/operator/Not.js +1 -1
- package/find-options/operator/Not.js.map +1 -1
- package/globals.js +33 -6
- package/globals.js.map +1 -1
- package/index.d.ts +2 -0
- package/index.js +4 -1
- package/index.js.map +1 -1
- package/index.mjs +352 -0
- package/metadata/RelationMetadata.d.ts +1 -1
- package/metadata/RelationMetadata.js.map +1 -1
- package/metadata/UniqueMetadata.d.ts +5 -0
- package/metadata/UniqueMetadata.js +1 -0
- package/metadata/UniqueMetadata.js.map +1 -1
- package/metadata-args/UniqueMetadataArgs.d.ts +5 -0
- package/metadata-args/UniqueMetadataArgs.js.map +1 -1
- package/metadata-builder/EntityMetadataValidator.js +1 -0
- package/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/migration/MigrationExecutor.js +1 -1
- package/migration/MigrationExecutor.js.map +1 -1
- package/package.json +1 -1
- package/persistence/subject-builder/OneToManySubjectBuilder.js +3 -0
- package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
- package/platform/PlatformTools.d.ts +1 -0
- package/platform/PlatformTools.js +5 -0
- package/platform/PlatformTools.js.map +1 -1
- package/query-builder/DeleteQueryBuilder.d.ts +4 -2
- package/query-builder/DeleteQueryBuilder.js +4 -2
- package/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/query-builder/InsertQueryBuilder.d.ts +1 -1
- package/query-builder/InsertQueryBuilder.js +3 -3
- package/query-builder/InsertQueryBuilder.js.map +1 -1
- package/query-builder/NotBrackets.d.ts +7 -0
- package/query-builder/NotBrackets.js +19 -0
- package/query-builder/NotBrackets.js.map +1 -0
- package/query-builder/QueryBuilder.d.ts +3 -2
- package/query-builder/QueryBuilder.js +2 -1
- package/query-builder/QueryBuilder.js.map +1 -1
- package/query-builder/RelationLoader.js +11 -6
- package/query-builder/RelationLoader.js.map +1 -1
- package/query-builder/RelationQueryBuilder.d.ts +1 -1
- package/query-builder/RelationQueryBuilder.js +1 -1
- package/query-builder/RelationQueryBuilder.js.map +1 -1
- package/query-builder/SelectQueryBuilder.d.ts +10 -1
- package/query-builder/SelectQueryBuilder.js +28 -21
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-builder/SoftDeleteQueryBuilder.d.ts +1 -1
- package/query-builder/SoftDeleteQueryBuilder.js +1 -1
- package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/query-builder/UpdateQueryBuilder.d.ts +4 -2
- package/query-builder/UpdateQueryBuilder.js +11 -6
- package/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/query-builder/WhereExpressionBuilder.d.ts +3 -1
- package/query-builder/WhereExpressionBuilder.js.map +1 -1
- package/query-runner/BaseQueryRunner.d.ts +2 -2
- package/query-runner/BaseQueryRunner.js +3 -3
- package/query-runner/BaseQueryRunner.js.map +1 -1
- package/repository/AbstractRepository.d.ts +2 -2
- package/repository/AbstractRepository.js +2 -2
- package/repository/AbstractRepository.js.map +1 -1
- package/repository/BaseEntity.d.ts +1 -1
- package/repository/BaseEntity.js +1 -1
- package/repository/BaseEntity.js.map +1 -1
- package/repository/Repository.d.ts +1 -1
- package/repository/Repository.js +1 -1
- package/repository/Repository.js.map +1 -1
- package/repository/TreeRepository.js +1 -1
- package/repository/TreeRepository.js.map +1 -1
- package/schema-builder/RdbmsSchemaBuilder.js +1 -1
- package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/schema-builder/options/TableUniqueOptions.d.ts +5 -0
- package/schema-builder/options/TableUniqueOptions.js.map +1 -1
- package/schema-builder/table/TableUnique.d.ts +5 -0
- package/schema-builder/table/TableUnique.js +5 -2
- package/schema-builder/table/TableUnique.js.map +1 -1
- package/util/DirectoryExportedClassesLoader.d.ts +1 -1
- package/util/DirectoryExportedClassesLoader.js +54 -31
- package/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/util/ImportUtils.d.ts +1 -0
- package/util/ImportUtils.js +94 -0
- package/util/ImportUtils.js.map +1 -0
- package/util/RandomGenerator.d.ts +0 -4
- package/util/RandomGenerator.js +0 -9
- package/util/RandomGenerator.js.map +1 -1
|
@@ -8,6 +8,7 @@ var globals_1 = require("../globals");
|
|
|
8
8
|
var StringUtils_1 = require("../util/StringUtils");
|
|
9
9
|
var chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
|
|
10
10
|
var sqlFormatter_1 = require("@sqltools/formatter/lib/sqlFormatter");
|
|
11
|
+
var PlatformTools_1 = require("../platform/PlatformTools");
|
|
11
12
|
/**
|
|
12
13
|
* Generates a new migration file with sql needs to be executed to update schema.
|
|
13
14
|
*/
|
|
@@ -62,6 +63,12 @@ var MigrationGenerateCommand = /** @class */ (function () {
|
|
|
62
63
|
type: "boolean",
|
|
63
64
|
default: false,
|
|
64
65
|
describe: "Verifies that the current database is up to date and that no migrations are needed. Otherwise exits with code 1.",
|
|
66
|
+
})
|
|
67
|
+
.option("t", {
|
|
68
|
+
alias: "timestamp",
|
|
69
|
+
type: "number",
|
|
70
|
+
default: false,
|
|
71
|
+
describe: "Custom timestamp for the migration name",
|
|
65
72
|
});
|
|
66
73
|
};
|
|
67
74
|
MigrationGenerateCommand.prototype.handler = function (args) {
|
|
@@ -73,7 +80,7 @@ var MigrationGenerateCommand = /** @class */ (function () {
|
|
|
73
80
|
if (args._[0] === "migrations:generate") {
|
|
74
81
|
console.log("'migrations:generate' is deprecated, please use 'migration:generate' instead");
|
|
75
82
|
}
|
|
76
|
-
timestamp =
|
|
83
|
+
timestamp = CommandUtils_1.CommandUtils.getTimestamp(args.timestamp);
|
|
77
84
|
extension = args.outputJs ? ".js" : ".ts";
|
|
78
85
|
filename = timestamp + "-" + args.name + extension;
|
|
79
86
|
directory = args.dir;
|
|
@@ -174,8 +181,7 @@ var MigrationGenerateCommand = /** @class */ (function () {
|
|
|
174
181
|
case 14: return [3 /*break*/, 16];
|
|
175
182
|
case 15:
|
|
176
183
|
err_2 = _a.sent();
|
|
177
|
-
|
|
178
|
-
console.error(err_2);
|
|
184
|
+
PlatformTools_1.PlatformTools.logCmdErr("Error during migration generation:", err_2);
|
|
179
185
|
process.exit(1);
|
|
180
186
|
return [3 /*break*/, 16];
|
|
181
187
|
case 16: return [2 /*return*/];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/commands/MigrationGenerateCommand.ts"],"names":[],"mappings":"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","file":"MigrationGenerateCommand.js","sourcesContent":["import {ConnectionOptionsReader} from \"../connection/ConnectionOptionsReader\";\nimport {CommandUtils} from \"./CommandUtils\";\nimport {createConnection} from \"../globals\";\nimport {camelCase} from \"../util/StringUtils\";\nimport * as yargs from \"yargs\";\nimport chalk from \"chalk\";\nimport { format } from \"@sqltools/formatter/lib/sqlFormatter\";\n\n/**\n * Generates a new migration file with sql needs to be executed to update schema.\n */\nexport class MigrationGenerateCommand implements yargs.CommandModule {\n\n command = \"migration:generate\";\n describe = \"Generates a new migration file with sql needs to be executed to update schema.\";\n aliases = \"migrations:generate\";\n\n builder(args: yargs.Argv) {\n return args\n .option(\"c\", {\n alias: \"connection\",\n default: \"default\",\n describe: \"Name of the connection on which run a query.\"\n })\n .option(\"n\", {\n alias: \"name\",\n describe: \"Name of the migration class.\",\n demand: true,\n type: \"string\"\n })\n .option(\"d\", {\n alias: \"dir\",\n describe: \"Directory where migration should be created.\"\n })\n .option(\"p\", {\n alias: \"pretty\",\n type: \"boolean\",\n default: false,\n describe: \"Pretty-print generated SQL\",\n })\n .option(\"f\", {\n alias: \"config\",\n default: \"ormconfig\",\n describe: \"Name of the file with connection configuration.\"\n })\n .option(\"o\", {\n alias: \"outputJs\",\n type: \"boolean\",\n default: false,\n describe: \"Generate a migration file on Javascript instead of Typescript\",\n })\n .option(\"dr\", {\n alias: \"dryrun\",\n type: \"boolean\",\n default: false,\n describe: \"Prints out the contents of the migration instead of writing it to a file\",\n })\n .option(\"ch\", {\n alias: \"check\",\n type: \"boolean\",\n default: false,\n describe: \"Verifies that the current database is up to date and that no migrations are needed. Otherwise exits with code 1.\",\n });\n }\n\n async handler(args: yargs.Arguments) {\n if (args._[0] === \"migrations:generate\") {\n console.log(\"'migrations:generate' is deprecated, please use 'migration:generate' instead\");\n }\n\n const timestamp = new Date().getTime();\n const extension = args.outputJs ? \".js\" : \".ts\";\n const filename = timestamp + \"-\" + args.name + extension;\n let directory = args.dir as string | undefined;\n\n // if directory is not set then try to open tsconfig and find default path there\n if (!directory) {\n try {\n const connectionOptionsReader = new ConnectionOptionsReader({\n root: process.cwd(),\n configName: args.config as any\n });\n const connectionOptions = await connectionOptionsReader.get(args.connection as any);\n directory = connectionOptions.cli ? connectionOptions.cli.migrationsDir : undefined;\n } catch (err) { }\n }\n\n try {\n const connectionOptionsReader = new ConnectionOptionsReader({\n root: process.cwd(),\n configName: args.config as any\n });\n const connectionOptions = await connectionOptionsReader.get(args.connection as any);\n Object.assign(connectionOptions, {\n synchronize: false,\n migrationsRun: false,\n dropSchema: false,\n logging: false\n });\n\n const upSqls: string[] = [], downSqls: string[] = [];\n\n const connection = await createConnection(connectionOptions);\n try {\n const sqlInMemory = await connection.driver.createSchemaBuilder().log();\n\n if (args.pretty) {\n sqlInMemory.upQueries.forEach(upQuery => {\n upQuery.query = MigrationGenerateCommand.prettifyQuery(upQuery.query);\n });\n sqlInMemory.downQueries.forEach(downQuery => {\n downQuery.query = MigrationGenerateCommand.prettifyQuery(downQuery.query);\n });\n }\n\n sqlInMemory.upQueries.forEach(upQuery => {\n upSqls.push(\" await queryRunner.query(`\" + upQuery.query.replace(new RegExp(\"`\", \"g\"), \"\\\\`\") + \"`\" + MigrationGenerateCommand.queryParams(upQuery.parameters) + \");\");\n });\n sqlInMemory.downQueries.forEach(downQuery => {\n downSqls.push(\" await queryRunner.query(`\" + downQuery.query.replace(new RegExp(\"`\", \"g\"), \"\\\\`\") + \"`\" + MigrationGenerateCommand.queryParams(downQuery.parameters) + \");\");\n });\n } finally {\n await connection.close();\n }\n\n if (!upSqls.length) {\n if (args.check) {\n console.log(chalk.green(`No changes in database schema were found`));\n process.exit(0);\n } else {\n console.log(chalk.yellow(`No changes in database schema were found - cannot generate a migration. To create a new empty migration use \"typeorm migration:create\" command`));\n process.exit(1);\n }\n } else if (!args.name) {\n console.log(chalk.yellow(\"Please specify a migration name using the `-n` argument\"));\n process.exit(1);\n }\n\n const fileContent = args.outputJs ?\n MigrationGenerateCommand.getJavascriptTemplate(args.name as any, timestamp, upSqls, downSqls.reverse()) :\n MigrationGenerateCommand.getTemplate(args.name as any, timestamp, upSqls, downSqls.reverse());\n if (directory && !directory.startsWith(\"/\")) {\n directory = process.cwd() + \"/\" + directory;\n }\n const path = (directory ? (directory + \"/\") : \"\") + filename;\n\n if (args.check) {\n console.log(chalk.yellow(`Unexpected changes in database schema were found in check mode:\\n\\n${chalk.white(fileContent)}`));\n process.exit(1);\n }\n\n if (args.dryrun) {\n console.log(chalk.green(`Migration ${chalk.blue(path)} has content:\\n\\n${chalk.white(fileContent)}`));\n } else {\n await CommandUtils.createFile(path, fileContent);\n\n console.log(chalk.green(`Migration ${chalk.blue(path)} has been generated successfully.`));\n }\n } catch (err) {\n console.log(chalk.black.bgRed(\"Error during migration generation:\"));\n console.error(err);\n process.exit(1);\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Formats query parameters for migration queries if parameters actually exist\n */\n protected static queryParams(parameters: any[] | undefined): string {\n if (!parameters || !parameters.length) {\n return \"\";\n }\n\n return `, ${JSON.stringify(parameters)}`;\n }\n\n /**\n * Gets contents of the migration file.\n */\n protected static getTemplate(name: string, timestamp: number, upSqls: string[], downSqls: string[]): string {\n const migrationName = `${camelCase(name, true)}${timestamp}`;\n\n return `import {MigrationInterface, QueryRunner} from \"typeorm\";\n\nexport class ${migrationName} implements MigrationInterface {\n name = '${migrationName}'\n\n public async up(queryRunner: QueryRunner): Promise<void> {\n${upSqls.join(`\n`)}\n }\n\n public async down(queryRunner: QueryRunner): Promise<void> {\n${downSqls.join(`\n`)}\n }\n\n}\n`;\n }\n\n /**\n * Gets contents of the migration file in Javascript.\n */\n protected static getJavascriptTemplate(name: string, timestamp: number, upSqls: string[], downSqls: string[]): string {\n const migrationName = `${camelCase(name, true)}${timestamp}`;\n\n return `const { MigrationInterface, QueryRunner } = require(\"typeorm\");\n\nmodule.exports = class ${migrationName} {\n name = '${migrationName}'\n\n async up(queryRunner) {\n${upSqls.join(`\n`)}\n }\n\n async down(queryRunner) {\n${downSqls.join(`\n`)}\n }\n}\n`;\n }\n\n /**\n *\n */\n protected static prettifyQuery(query: string) {\n const formattedQuery = format(query, { indent: \" \" });\n return \"\\n\" + formattedQuery.replace(/^/gm, \" \") + \"\\n \";\n }\n}\n"],"sourceRoot":".."}
|
|
1
|
+
{"version":3,"sources":["../../src/commands/MigrationGenerateCommand.ts"],"names":[],"mappings":"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","file":"MigrationGenerateCommand.js","sourcesContent":["import {ConnectionOptionsReader} from \"../connection/ConnectionOptionsReader\";\nimport {CommandUtils} from \"./CommandUtils\";\nimport {createConnection} from \"../globals\";\nimport {camelCase} from \"../util/StringUtils\";\nimport * as yargs from \"yargs\";\nimport chalk from \"chalk\";\nimport { format } from \"@sqltools/formatter/lib/sqlFormatter\";\nimport { PlatformTools } from \"../platform/PlatformTools\";\n\n/**\n * Generates a new migration file with sql needs to be executed to update schema.\n */\nexport class MigrationGenerateCommand implements yargs.CommandModule {\n\n command = \"migration:generate\";\n describe = \"Generates a new migration file with sql needs to be executed to update schema.\";\n aliases = \"migrations:generate\";\n\n builder(args: yargs.Argv) {\n return args\n .option(\"c\", {\n alias: \"connection\",\n default: \"default\",\n describe: \"Name of the connection on which run a query.\"\n })\n .option(\"n\", {\n alias: \"name\",\n describe: \"Name of the migration class.\",\n demand: true,\n type: \"string\"\n })\n .option(\"d\", {\n alias: \"dir\",\n describe: \"Directory where migration should be created.\"\n })\n .option(\"p\", {\n alias: \"pretty\",\n type: \"boolean\",\n default: false,\n describe: \"Pretty-print generated SQL\",\n })\n .option(\"f\", {\n alias: \"config\",\n default: \"ormconfig\",\n describe: \"Name of the file with connection configuration.\"\n })\n .option(\"o\", {\n alias: \"outputJs\",\n type: \"boolean\",\n default: false,\n describe: \"Generate a migration file on Javascript instead of Typescript\",\n })\n .option(\"dr\", {\n alias: \"dryrun\",\n type: \"boolean\",\n default: false,\n describe: \"Prints out the contents of the migration instead of writing it to a file\",\n })\n .option(\"ch\", {\n alias: \"check\",\n type: \"boolean\",\n default: false,\n describe: \"Verifies that the current database is up to date and that no migrations are needed. Otherwise exits with code 1.\",\n })\n .option(\"t\", {\n alias: \"timestamp\",\n type: \"number\",\n default: false,\n describe: \"Custom timestamp for the migration name\",\n });\n }\n\n async handler(args: yargs.Arguments) {\n if (args._[0] === \"migrations:generate\") {\n console.log(\"'migrations:generate' is deprecated, please use 'migration:generate' instead\");\n }\n\n const timestamp = CommandUtils.getTimestamp(args.timestamp);\n const extension = args.outputJs ? \".js\" : \".ts\";\n const filename = timestamp + \"-\" + args.name + extension;\n let directory = args.dir as string | undefined;\n\n // if directory is not set then try to open tsconfig and find default path there\n if (!directory) {\n try {\n const connectionOptionsReader = new ConnectionOptionsReader({\n root: process.cwd(),\n configName: args.config as any\n });\n const connectionOptions = await connectionOptionsReader.get(args.connection as any);\n directory = connectionOptions.cli ? connectionOptions.cli.migrationsDir : undefined;\n } catch (err) { }\n }\n\n try {\n const connectionOptionsReader = new ConnectionOptionsReader({\n root: process.cwd(),\n configName: args.config as any\n });\n const connectionOptions = await connectionOptionsReader.get(args.connection as any);\n Object.assign(connectionOptions, {\n synchronize: false,\n migrationsRun: false,\n dropSchema: false,\n logging: false\n });\n\n const upSqls: string[] = [], downSqls: string[] = [];\n\n const connection = await createConnection(connectionOptions);\n try {\n const sqlInMemory = await connection.driver.createSchemaBuilder().log();\n\n if (args.pretty) {\n sqlInMemory.upQueries.forEach(upQuery => {\n upQuery.query = MigrationGenerateCommand.prettifyQuery(upQuery.query);\n });\n sqlInMemory.downQueries.forEach(downQuery => {\n downQuery.query = MigrationGenerateCommand.prettifyQuery(downQuery.query);\n });\n }\n\n sqlInMemory.upQueries.forEach(upQuery => {\n upSqls.push(\" await queryRunner.query(`\" + upQuery.query.replace(new RegExp(\"`\", \"g\"), \"\\\\`\") + \"`\" + MigrationGenerateCommand.queryParams(upQuery.parameters) + \");\");\n });\n sqlInMemory.downQueries.forEach(downQuery => {\n downSqls.push(\" await queryRunner.query(`\" + downQuery.query.replace(new RegExp(\"`\", \"g\"), \"\\\\`\") + \"`\" + MigrationGenerateCommand.queryParams(downQuery.parameters) + \");\");\n });\n } finally {\n await connection.close();\n }\n\n if (!upSqls.length) {\n if (args.check) {\n console.log(chalk.green(`No changes in database schema were found`));\n process.exit(0);\n } else {\n console.log(chalk.yellow(`No changes in database schema were found - cannot generate a migration. To create a new empty migration use \"typeorm migration:create\" command`));\n process.exit(1);\n }\n } else if (!args.name) {\n console.log(chalk.yellow(\"Please specify a migration name using the `-n` argument\"));\n process.exit(1);\n }\n\n const fileContent = args.outputJs ?\n MigrationGenerateCommand.getJavascriptTemplate(args.name as any, timestamp, upSqls, downSqls.reverse()) :\n MigrationGenerateCommand.getTemplate(args.name as any, timestamp, upSqls, downSqls.reverse());\n if (directory && !directory.startsWith(\"/\")) {\n directory = process.cwd() + \"/\" + directory;\n }\n const path = (directory ? (directory + \"/\") : \"\") + filename;\n\n if (args.check) {\n console.log(chalk.yellow(`Unexpected changes in database schema were found in check mode:\\n\\n${chalk.white(fileContent)}`));\n process.exit(1);\n }\n\n if (args.dryrun) {\n console.log(chalk.green(`Migration ${chalk.blue(path)} has content:\\n\\n${chalk.white(fileContent)}`));\n } else {\n await CommandUtils.createFile(path, fileContent);\n\n console.log(chalk.green(`Migration ${chalk.blue(path)} has been generated successfully.`));\n }\n } catch (err) {\n PlatformTools.logCmdErr(\"Error during migration generation:\", err);\n process.exit(1);\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Formats query parameters for migration queries if parameters actually exist\n */\n protected static queryParams(parameters: any[] | undefined): string {\n if (!parameters || !parameters.length) {\n return \"\";\n }\n\n return `, ${JSON.stringify(parameters)}`;\n }\n\n /**\n * Gets contents of the migration file.\n */\n protected static getTemplate(name: string, timestamp: number, upSqls: string[], downSqls: string[]): string {\n const migrationName = `${camelCase(name, true)}${timestamp}`;\n\n return `import {MigrationInterface, QueryRunner} from \"typeorm\";\n\nexport class ${migrationName} implements MigrationInterface {\n name = '${migrationName}'\n\n public async up(queryRunner: QueryRunner): Promise<void> {\n${upSqls.join(`\n`)}\n }\n\n public async down(queryRunner: QueryRunner): Promise<void> {\n${downSqls.join(`\n`)}\n }\n\n}\n`;\n }\n\n /**\n * Gets contents of the migration file in Javascript.\n */\n protected static getJavascriptTemplate(name: string, timestamp: number, upSqls: string[], downSqls: string[]): string {\n const migrationName = `${camelCase(name, true)}${timestamp}`;\n\n return `const { MigrationInterface, QueryRunner } = require(\"typeorm\");\n\nmodule.exports = class ${migrationName} {\n name = '${migrationName}'\n\n async up(queryRunner) {\n${upSqls.join(`\n`)}\n }\n\n async down(queryRunner) {\n${downSqls.join(`\n`)}\n }\n}\n`;\n }\n\n /**\n *\n */\n protected static prettifyQuery(query: string) {\n const formattedQuery = format(query, { indent: \" \" });\n return \"\\n\" + formattedQuery.replace(/^/gm, \" \") + \"\\n \";\n }\n}\n"],"sourceRoot":".."}
|
|
@@ -4,7 +4,7 @@ exports.MigrationRevertCommand = void 0;
|
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var globals_1 = require("../globals");
|
|
6
6
|
var ConnectionOptionsReader_1 = require("../connection/ConnectionOptionsReader");
|
|
7
|
-
var
|
|
7
|
+
var PlatformTools_1 = require("../platform/PlatformTools");
|
|
8
8
|
/**
|
|
9
9
|
* Reverts last migration command.
|
|
10
10
|
*/
|
|
@@ -95,8 +95,7 @@ var MigrationRevertCommand = /** @class */ (function () {
|
|
|
95
95
|
_b.sent();
|
|
96
96
|
_b.label = 8;
|
|
97
97
|
case 8:
|
|
98
|
-
|
|
99
|
-
console.error(err_1);
|
|
98
|
+
PlatformTools_1.PlatformTools.logCmdErr("Error during migration revert:", err_1);
|
|
100
99
|
process.exit(1);
|
|
101
100
|
return [3 /*break*/, 9];
|
|
102
101
|
case 9: return [2 /*return*/];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/commands/MigrationRevertCommand.ts"],"names":[],"mappings":";;;;AAAA,sCAA4C;AAC5C,iFAA8E;AAG9E,
|
|
1
|
+
{"version":3,"sources":["../../src/commands/MigrationRevertCommand.ts"],"names":[],"mappings":";;;;AAAA,sCAA4C;AAC5C,iFAA8E;AAG9E,2DAA0D;AAE1D;;GAEG;AACH;IAAA;QAEI,YAAO,GAAG,kBAAkB,CAAC;QAC7B,aAAQ,GAAG,kCAAkC,CAAC;QAC9C,YAAO,GAAG,mBAAmB,CAAC;IAwElC,CAAC;IAtEG,wCAAO,GAAP,UAAQ,IAAgB;QACpB,OAAO,IAAI;aACN,MAAM,CAAC,GAAG,EAAE;YACT,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,8CAA8C;SAC3D,CAAC;aACD,MAAM,CAAC,aAAa,EAAE;YACnB,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,0FAA0F;SACvG,CAAC;aACD,MAAM,CAAC,GAAG,EAAE;YACT,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE,iDAAiD;SAC9D,CAAC,CAAC;IACX,CAAC;IAEK,wCAAO,GAAb,UAAc,IAAqB;;;;;;;wBAC/B,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,mBAAmB,EAAE;4BACnC,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;yBAC3F;wBAEG,UAAU,GAAyB,SAAS,CAAC;;;;wBAEvC,uBAAuB,GAAG,IAAI,iDAAuB,CAAC;4BACxD,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE;4BACnB,UAAU,EAAE,IAAI,CAAC,MAAa;yBACjC,CAAC,CAAC;wBACuB,qBAAM,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAiB,CAAC,EAAA;;wBAA7E,iBAAiB,GAAG,SAAyD;wBACnF,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE;4BAC7B,WAAW,EAAE,EAAE;4BACf,WAAW,EAAE,KAAK;4BAClB,aAAa,EAAE,KAAK;4BACpB,UAAU,EAAE,KAAK;4BACjB,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;yBACxC,CAAC,CAAC;wBACU,qBAAM,IAAA,0BAAgB,EAAC,iBAAiB,CAAC,EAAA;;wBAAtD,UAAU,GAAG,SAAyC,CAAC;wBAEjD,OAAO,GAAG;4BACZ,WAAW,EAAE,MAAA,iBAAiB,CAAC,yBAAyB,mCAAI,KAAgC;yBAC/F,CAAC;wBAEF,QAAQ,IAAI,CAAC,CAAC,EAAE;4BACZ,KAAK,KAAK;gCACN,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;gCAC5B,MAAM;4BACV,KAAK,MAAM,CAAC;4BACZ,KAAK,OAAO;gCACR,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC;gCAC7B,MAAM;4BACV,KAAK,MAAM;gCACP,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC;gCAC7B,MAAM;4BACV,QAAQ;4BACJ,OAAO;yBACd;wBAED,qBAAM,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAA;;wBAA3C,SAA2C,CAAC;wBAC5C,qBAAM,UAAU,CAAC,KAAK,EAAE,EAAA;;wBAAxB,SAAwB,CAAC;;;;6BAGrB,UAAU,EAAV,wBAAU;wBAAE,qBAAO,UAAyB,CAAC,KAAK,EAAE,EAAA;;wBAAxC,SAAwC,CAAC;;;wBAEzD,6BAAa,CAAC,SAAS,CAAC,gCAAgC,EAAE,KAAG,CAAC,CAAC;wBAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;;;;KAEvB;IAEL,6BAAC;AAAD,CA5EA,AA4EC,IAAA;AA5EY,wDAAsB","file":"MigrationRevertCommand.js","sourcesContent":["import {createConnection} from \"../globals\";\nimport {ConnectionOptionsReader} from \"../connection/ConnectionOptionsReader\";\nimport {Connection} from \"../connection/Connection\";\nimport * as yargs from \"yargs\";\nimport { PlatformTools } from \"../platform/PlatformTools\";\n\n/**\n * Reverts last migration command.\n */\nexport class MigrationRevertCommand implements yargs.CommandModule {\n\n command = \"migration:revert\";\n describe = \"Reverts last executed migration.\";\n aliases = \"migrations:revert\";\n\n builder(args: yargs.Argv) {\n return args\n .option(\"c\", {\n alias: \"connection\",\n default: \"default\",\n describe: \"Name of the connection on which run a query.\"\n })\n .option(\"transaction\", {\n alias: \"t\",\n default: \"default\",\n describe: \"Indicates if transaction should be used or not for migration revert. Enabled by default.\"\n })\n .option(\"f\", {\n alias: \"config\",\n default: \"ormconfig\",\n describe: \"Name of the file with connection configuration.\"\n });\n }\n\n async handler(args: yargs.Arguments) {\n if (args._[0] === \"migrations:revert\") {\n console.log(\"'migrations:revert' is deprecated, please use 'migration:revert' instead\");\n }\n\n let connection: Connection|undefined = undefined;\n try {\n const connectionOptionsReader = new ConnectionOptionsReader({\n root: process.cwd(),\n configName: args.config as any\n });\n const connectionOptions = await connectionOptionsReader.get(args.connection as any);\n Object.assign(connectionOptions, {\n subscribers: [],\n synchronize: false,\n migrationsRun: false,\n dropSchema: false,\n logging: [\"query\", \"error\", \"schema\"]\n });\n connection = await createConnection(connectionOptions);\n\n const options = {\n transaction: connectionOptions.migrationsTransactionMode ?? \"all\" as \"all\" | \"none\" | \"each\",\n };\n\n switch (args.t) {\n case \"all\":\n options.transaction = \"all\";\n break;\n case \"none\":\n case \"false\":\n options.transaction = \"none\";\n break;\n case \"each\":\n options.transaction = \"each\";\n break;\n default:\n // noop\n }\n\n await connection.undoLastMigration(options);\n await connection.close();\n\n } catch (err) {\n if (connection) await (connection as Connection).close();\n\n PlatformTools.logCmdErr(\"Error during migration revert:\", err);\n process.exit(1);\n }\n }\n\n}\n"],"sourceRoot":".."}
|
|
@@ -5,7 +5,7 @@ var tslib_1 = require("tslib");
|
|
|
5
5
|
var globals_1 = require("../globals");
|
|
6
6
|
var ConnectionOptionsReader_1 = require("../connection/ConnectionOptionsReader");
|
|
7
7
|
var process = (0, tslib_1.__importStar)(require("process"));
|
|
8
|
-
var
|
|
8
|
+
var PlatformTools_1 = require("../platform/PlatformTools");
|
|
9
9
|
/**
|
|
10
10
|
* Runs migration command.
|
|
11
11
|
*/
|
|
@@ -98,8 +98,7 @@ var MigrationRunCommand = /** @class */ (function () {
|
|
|
98
98
|
_b.sent();
|
|
99
99
|
_b.label = 8;
|
|
100
100
|
case 8:
|
|
101
|
-
|
|
102
|
-
console.error(err_1);
|
|
101
|
+
PlatformTools_1.PlatformTools.logCmdErr("Error during migration run:", err_1);
|
|
103
102
|
process.exit(1);
|
|
104
103
|
return [3 /*break*/, 9];
|
|
105
104
|
case 9: return [2 /*return*/];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/commands/MigrationRunCommand.ts"],"names":[],"mappings":";;;;AAAA,sCAA4C;AAC5C,iFAA8E;AAE9E,4DAAmC;AAEnC,
|
|
1
|
+
{"version":3,"sources":["../../src/commands/MigrationRunCommand.ts"],"names":[],"mappings":";;;;AAAA,sCAA4C;AAC5C,iFAA8E;AAE9E,4DAAmC;AAEnC,2DAA0D;AAE1D;;GAEG;AACH;IAAA;QAEI,YAAO,GAAG,eAAe,CAAC;QAC1B,aAAQ,GAAG,8BAA8B,CAAC;QAC1C,YAAO,GAAG,gBAAgB,CAAC;IA0E/B,CAAC;IAxEG,qCAAO,GAAP,UAAQ,IAAgB;QACpB,OAAO,IAAI;aACN,MAAM,CAAC,YAAY,EAAE;YAClB,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,8CAA8C;SAC3D,CAAC;aACD,MAAM,CAAC,aAAa,EAAE;YACnB,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,uFAAuF;SACpG,CAAC;aACD,MAAM,CAAC,QAAQ,EAAE;YACd,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE,iDAAiD;SAC9D,CAAC,CAAC;IACX,CAAC;IAEK,qCAAO,GAAb,UAAc,IAAqB;;;;;;;wBAC/B,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAAE;4BAChC,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;yBACrF;wBAEG,UAAU,GAAyB,SAAS,CAAC;;;;wBAEvC,uBAAuB,GAAG,IAAI,iDAAuB,CAAC;4BACxD,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE;4BACnB,UAAU,EAAE,IAAI,CAAC,MAAa;yBACjC,CAAC,CAAC;wBACuB,qBAAM,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAiB,CAAC,EAAA;;wBAA7E,iBAAiB,GAAG,SAAyD;wBACnF,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE;4BAC7B,WAAW,EAAE,EAAE;4BACf,WAAW,EAAE,KAAK;4BAClB,aAAa,EAAE,KAAK;4BACpB,UAAU,EAAE,KAAK;4BACjB,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;yBACxC,CAAC,CAAC;wBACU,qBAAM,IAAA,0BAAgB,EAAC,iBAAiB,CAAC,EAAA;;wBAAtD,UAAU,GAAG,SAAyC,CAAC;wBAEjD,OAAO,GAAG;4BACZ,WAAW,EAAE,MAAA,iBAAiB,CAAC,yBAAyB,mCAAI,KAAgC;yBAC/F,CAAC;wBAEF,QAAQ,IAAI,CAAC,CAAC,EAAE;4BACZ,KAAK,KAAK;gCACN,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;gCAC5B,MAAM;4BACV,KAAK,MAAM,CAAC;4BACZ,KAAK,OAAO;gCACR,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC;gCAC7B,MAAM;4BACV,KAAK,MAAM;gCACP,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC;gCAC7B,MAAM;4BACV,QAAQ;4BACJ,OAAO;yBACd;wBAED,qBAAM,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,EAAA;;wBAAvC,SAAuC,CAAC;wBACxC,qBAAM,UAAU,CAAC,KAAK,EAAE,EAAA;;wBAAxB,SAAwB,CAAC;wBACzB,4BAA4B;wBAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;;6BAGZ,UAAU,EAAV,wBAAU;wBAAE,qBAAO,UAAyB,CAAC,KAAK,EAAE,EAAA;;wBAAxC,SAAwC,CAAC;;;wBAEzD,6BAAa,CAAC,SAAS,CAAC,6BAA6B,EAAE,KAAG,CAAC,CAAC;wBAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;;;;KAEvB;IAEL,0BAAC;AAAD,CA9EA,AA8EC,IAAA;AA9EY,kDAAmB","file":"MigrationRunCommand.js","sourcesContent":["import {createConnection} from \"../globals\";\nimport {ConnectionOptionsReader} from \"../connection/ConnectionOptionsReader\";\nimport {Connection} from \"../connection/Connection\";\nimport * as process from \"process\";\nimport * as yargs from \"yargs\";\nimport { PlatformTools } from \"../platform/PlatformTools\";\n\n/**\n * Runs migration command.\n */\nexport class MigrationRunCommand implements yargs.CommandModule {\n\n command = \"migration:run\";\n describe = \"Runs all pending migrations.\";\n aliases = \"migrations:run\";\n\n builder(args: yargs.Argv) {\n return args\n .option(\"connection\", {\n alias: \"c\",\n default: \"default\",\n describe: \"Name of the connection on which run a query.\"\n })\n .option(\"transaction\", {\n alias: \"t\",\n default: \"default\",\n describe: \"Indicates if transaction should be used or not for migration run. Enabled by default.\"\n })\n .option(\"config\", {\n alias: \"f\",\n default: \"ormconfig\",\n describe: \"Name of the file with connection configuration.\"\n });\n }\n\n async handler(args: yargs.Arguments) {\n if (args._[0] === \"migrations:run\") {\n console.log(\"'migrations:run' is deprecated, please use 'migration:run' instead\");\n }\n\n let connection: Connection|undefined = undefined;\n try {\n const connectionOptionsReader = new ConnectionOptionsReader({\n root: process.cwd(),\n configName: args.config as any\n });\n const connectionOptions = await connectionOptionsReader.get(args.connection as any);\n Object.assign(connectionOptions, {\n subscribers: [],\n synchronize: false,\n migrationsRun: false,\n dropSchema: false,\n logging: [\"query\", \"error\", \"schema\"]\n });\n connection = await createConnection(connectionOptions);\n\n const options = {\n transaction: connectionOptions.migrationsTransactionMode ?? \"all\" as \"all\" | \"none\" | \"each\",\n };\n\n switch (args.t) {\n case \"all\":\n options.transaction = \"all\";\n break;\n case \"none\":\n case \"false\":\n options.transaction = \"none\";\n break;\n case \"each\":\n options.transaction = \"each\";\n break;\n default:\n // noop\n }\n\n await connection.runMigrations(options);\n await connection.close();\n // exit process if no errors\n process.exit(0);\n\n } catch (err) {\n if (connection) await (connection as Connection).close();\n\n PlatformTools.logCmdErr(\"Error during migration run:\", err);\n process.exit(1);\n }\n }\n\n}\n"],"sourceRoot":".."}
|
|
@@ -5,7 +5,7 @@ var tslib_1 = require("tslib");
|
|
|
5
5
|
var globals_1 = require("../globals");
|
|
6
6
|
var ConnectionOptionsReader_1 = require("../connection/ConnectionOptionsReader");
|
|
7
7
|
var process = (0, tslib_1.__importStar)(require("process"));
|
|
8
|
-
var
|
|
8
|
+
var PlatformTools_1 = require("../platform/PlatformTools");
|
|
9
9
|
/**
|
|
10
10
|
* Runs migration command.
|
|
11
11
|
*/
|
|
@@ -71,8 +71,7 @@ var MigrationShowCommand = /** @class */ (function () {
|
|
|
71
71
|
_a.sent();
|
|
72
72
|
_a.label = 8;
|
|
73
73
|
case 8:
|
|
74
|
-
|
|
75
|
-
console.error(err_1);
|
|
74
|
+
PlatformTools_1.PlatformTools.logCmdErr("Error during migration show:", err_1);
|
|
76
75
|
process.exit(1);
|
|
77
76
|
return [3 /*break*/, 9];
|
|
78
77
|
case 9: return [2 /*return*/];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/commands/MigrationShowCommand.ts"],"names":[],"mappings":";;;;AAAA,sCAA4C;AAC5C,iFAA8E;AAE9E,4DAAmC;AAEnC,
|
|
1
|
+
{"version":3,"sources":["../../src/commands/MigrationShowCommand.ts"],"names":[],"mappings":";;;;AAAA,sCAA4C;AAC5C,iFAA8E;AAE9E,4DAAmC;AAEnC,2DAA0D;AAE1D;;GAEG;AACH;IAAA;QAEE,YAAO,GAAG,gBAAgB,CAAC;QAC3B,aAAQ,GAAG,2DAA2D,CAAC;IA6CzE,CAAC;IA3CC,sCAAO,GAAP,UAAQ,IAAgB;QACtB,OAAO,IAAI;aACR,MAAM,CAAC,YAAY,EAAE;YACpB,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,8CAA8C;SACzD,CAAC;aACD,MAAM,CAAC,QAAQ,EAAE;YAChB,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE,iDAAiD;SAC5D,CAAC,CAAC;IACP,CAAC;IAEK,sCAAO,GAAb,UAAc,IAAqB;;;;;;wBAC7B,UAAU,GAAyB,SAAS,CAAC;;;;wBAEzC,uBAAuB,GAAG,IAAI,iDAAuB,CAAC;4BAC1D,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE;4BACnB,UAAU,EAAE,IAAI,CAAC,MAAa;yBAC/B,CAAC,CAAC;wBACuB,qBAAM,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAiB,CAAC,EAAA;;wBAA7E,iBAAiB,GAAG,SAAyD;wBACnF,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE;4BAC/B,WAAW,EAAE,EAAE;4BACf,WAAW,EAAE,KAAK;4BAClB,aAAa,EAAE,KAAK;4BACpB,UAAU,EAAE,KAAK;4BACjB,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;yBACtC,CAAC,CAAC;wBACU,qBAAM,IAAA,0BAAgB,EAAC,iBAAiB,CAAC,EAAA;;wBAAtD,UAAU,GAAG,SAAyC,CAAC;wBAC3B,qBAAM,UAAU,CAAC,cAAc,EAAE,EAAA;;wBAAvD,mBAAmB,GAAG,SAAiC;wBAC7D,qBAAM,UAAU,CAAC,KAAK,EAAE,EAAA;;wBAAxB,SAAwB,CAAC;wBAEzB,6DAA6D;wBAC7D,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;;;6BAGtC,UAAU,EAAV,wBAAU;wBAAE,qBAAO,UAAyB,CAAC,KAAK,EAAE,EAAA;;wBAAxC,SAAwC,CAAC;;;wBACzD,6BAAa,CAAC,SAAS,CAAC,8BAA8B,EAAE,KAAG,CAAC,CAAC;wBAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;;;;KAEnB;IAEH,2BAAC;AAAD,CAhDA,AAgDC,IAAA;AAhDY,oDAAoB","file":"MigrationShowCommand.js","sourcesContent":["import {createConnection} from \"../globals\";\nimport {ConnectionOptionsReader} from \"../connection/ConnectionOptionsReader\";\nimport {Connection} from \"../connection/Connection\";\nimport * as process from \"process\";\nimport * as yargs from \"yargs\";\nimport { PlatformTools } from \"../platform/PlatformTools\";\n\n/**\n * Runs migration command.\n */\nexport class MigrationShowCommand implements yargs.CommandModule {\n\n command = \"migration:show\";\n describe = \"Show all migrations and whether they have been run or not\";\n\n builder(args: yargs.Argv) {\n return args\n .option(\"connection\", {\n alias: \"c\",\n default: \"default\",\n describe: \"Name of the connection on which run a query.\"\n })\n .option(\"config\", {\n alias: \"f\",\n default: \"ormconfig\",\n describe: \"Name of the file with connection configuration.\"\n });\n }\n\n async handler(args: yargs.Arguments) {\n let connection: Connection|undefined = undefined;\n try {\n const connectionOptionsReader = new ConnectionOptionsReader({\n root: process.cwd(),\n configName: args.config as any\n });\n const connectionOptions = await connectionOptionsReader.get(args.connection as any);\n Object.assign(connectionOptions, {\n subscribers: [],\n synchronize: false,\n migrationsRun: false,\n dropSchema: false,\n logging: [\"query\", \"error\", \"schema\"]\n });\n connection = await createConnection(connectionOptions);\n const unappliedMigrations = await connection.showMigrations();\n await connection.close();\n\n // return error code if there are unapplied migrations for CI\n process.exit(unappliedMigrations ? 1 : 0);\n\n } catch (err) {\n if (connection) await (connection as Connection).close();\n PlatformTools.logCmdErr(\"Error during migration show:\", err);\n process.exit(1);\n }\n }\n\n}\n"],"sourceRoot":".."}
|
package/commands/QueryCommand.js
CHANGED
|
@@ -7,7 +7,7 @@ var ConnectionOptionsReader_1 = require("../connection/ConnectionOptionsReader")
|
|
|
7
7
|
var PlatformTools_1 = require("../platform/PlatformTools");
|
|
8
8
|
var chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
|
|
9
9
|
/**
|
|
10
|
-
* Executes an
|
|
10
|
+
* Executes an SQL query on the given connection.
|
|
11
11
|
*/
|
|
12
12
|
var QueryCommand = /** @class */ (function () {
|
|
13
13
|
function QueryCommand() {
|
|
@@ -93,8 +93,7 @@ var QueryCommand = /** @class */ (function () {
|
|
|
93
93
|
_a.sent();
|
|
94
94
|
_a.label = 11;
|
|
95
95
|
case 11:
|
|
96
|
-
|
|
97
|
-
console.error(err_1);
|
|
96
|
+
PlatformTools_1.PlatformTools.logCmdErr("Error during query execution:", err_1);
|
|
98
97
|
process.exit(1);
|
|
99
98
|
return [3 /*break*/, 12];
|
|
100
99
|
case 12: return [2 /*return*/];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/commands/QueryCommand.ts"],"names":[],"mappings":";;;;AAAA,sCAA4C;AAE5C,iFAA8E;AAE9E,2DAAwD;AAExD,6DAA0B;AAE1B;;GAEG;AACH;IAAA;QACI,YAAO,GAAG,eAAe,CAAC;QAC1B,aAAQ,GAAG,kHAAkH,CAAC;
|
|
1
|
+
{"version":3,"sources":["../../src/commands/QueryCommand.ts"],"names":[],"mappings":"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","file":"QueryCommand.js","sourcesContent":["import {createConnection} from \"../globals\";\nimport {QueryRunner} from \"../query-runner/QueryRunner\";\nimport {ConnectionOptionsReader} from \"../connection/ConnectionOptionsReader\";\nimport {Connection} from \"../connection/Connection\";\nimport {PlatformTools} from \"../platform/PlatformTools\";\nimport * as yargs from \"yargs\";\nimport chalk from \"chalk\";\n\n/**\n * Executes an SQL query on the given connection.\n */\nexport class QueryCommand implements yargs.CommandModule {\n command = \"query [query]\";\n describe = \"Executes given SQL query on a default connection. Specify connection name to run query on a specific connection.\";\n\n builder(args: yargs.Argv) {\n return args\n .positional(\"query\", {\n describe: \"The SQL Query to run\",\n type: \"string\"\n })\n .option(\"c\", {\n alias: \"connection\",\n default: \"default\",\n describe: \"Name of the connection on which to run a query.\"\n })\n .option(\"f\", {\n alias: \"config\",\n default: \"ormconfig\",\n describe: \"Name of the file with connection configuration.\"\n });\n }\n\n async handler(args: yargs.Arguments) {\n\n let connection: Connection|undefined = undefined;\n let queryRunner: QueryRunner|undefined = undefined;\n try {\n\n // create a connection\n const connectionOptionsReader = new ConnectionOptionsReader({\n root: process.cwd(),\n configName: args.config as any\n });\n const connectionOptions = await connectionOptionsReader.get(args.connection as any);\n Object.assign(connectionOptions, {\n synchronize: false,\n migrationsRun: false,\n dropSchema: false,\n logging: false\n });\n connection = await createConnection(connectionOptions);\n\n // create a query runner and execute query using it\n queryRunner = connection.createQueryRunner();\n const query = args.query as string;\n console.log(chalk.green(\"Running query: \") + PlatformTools.highlightSql(query));\n const queryResult = await queryRunner.query(query);\n\n if (typeof queryResult === \"undefined\") {\n console.log(chalk.green(\"Query has been executed. No result was returned.\"));\n } else {\n console.log(chalk.green(\"Query has been executed. Result: \"));\n console.log(PlatformTools.highlightJson(JSON.stringify(queryResult, undefined, 2)));\n }\n\n await queryRunner.release();\n await connection.close();\n\n } catch (err) {\n if (queryRunner) await (queryRunner as QueryRunner).release();\n if (connection) await (connection as Connection).close();\n \n PlatformTools.logCmdErr(\"Error during query execution:\", err);\n process.exit(1);\n }\n }\n}\n"],"sourceRoot":".."}
|
|
@@ -5,6 +5,7 @@ var tslib_1 = require("tslib");
|
|
|
5
5
|
var globals_1 = require("../globals");
|
|
6
6
|
var ConnectionOptionsReader_1 = require("../connection/ConnectionOptionsReader");
|
|
7
7
|
var chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
|
|
8
|
+
var PlatformTools_1 = require("../platform/PlatformTools");
|
|
8
9
|
/**
|
|
9
10
|
* Drops all tables of the database from the given connection.
|
|
10
11
|
*/
|
|
@@ -69,8 +70,7 @@ var SchemaDropCommand = /** @class */ (function () {
|
|
|
69
70
|
_a.sent();
|
|
70
71
|
_a.label = 8;
|
|
71
72
|
case 8:
|
|
72
|
-
|
|
73
|
-
console.error(err_1);
|
|
73
|
+
PlatformTools_1.PlatformTools.logCmdErr("Error during schema drop:", err_1);
|
|
74
74
|
process.exit(1);
|
|
75
75
|
return [3 /*break*/, 9];
|
|
76
76
|
case 9: return [2 /*return*/];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/commands/SchemaDropCommand.ts"],"names":[],"mappings":";;;;AAAA,sCAA4C;AAE5C,iFAA8E;AAE9E,6DAA0B;
|
|
1
|
+
{"version":3,"sources":["../../src/commands/SchemaDropCommand.ts"],"names":[],"mappings":";;;;AAAA,sCAA4C;AAE5C,iFAA8E;AAE9E,6DAA0B;AAC1B,2DAA0D;AAE1D;;GAEG;AACH;IAAA;QACI,YAAO,GAAG,aAAa,CAAC;QACxB,aAAQ,GAAG,+DAA+D;YACtE,kEAAkE,CAAC;IA4C3E,CAAC;IA1CG,mCAAO,GAAP,UAAQ,IAAgB;QACpB,OAAO,IAAI;aACN,MAAM,CAAC,GAAG,EAAE;YACT,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,qDAAqD;SAClE,CAAC;aACD,MAAM,CAAC,GAAG,EAAE;YACT,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE,iDAAiD;SAC9D,CAAC,CAAC;IACX,CAAC;IAEK,mCAAO,GAAb,UAAc,IAAqB;;;;;;wBAE3B,UAAU,GAAyB,SAAS,CAAC;;;;wBAGvC,uBAAuB,GAAG,IAAI,iDAAuB,CAAC;4BACxD,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE;4BACnB,UAAU,EAAE,IAAI,CAAC,MAAa;yBACjC,CAAC,CAAC;wBACuB,qBAAM,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAiB,CAAC,EAAA;;wBAA7E,iBAAiB,GAAG,SAAyD;wBACnF,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE;4BAC7B,WAAW,EAAE,KAAK;4BAClB,aAAa,EAAE,KAAK;4BACpB,UAAU,EAAE,KAAK;4BACjB,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;yBAC/B,CAAC,CAAC;wBACU,qBAAM,IAAA,0BAAgB,EAAC,iBAAiB,CAAC,EAAA;;wBAAtD,UAAU,GAAG,SAAyC,CAAC;wBACvD,qBAAM,UAAU,CAAC,YAAY,EAAE,EAAA;;wBAA/B,SAA+B,CAAC;wBAChC,qBAAM,UAAU,CAAC,KAAK,EAAE,EAAA;;wBAAxB,SAAwB,CAAC;wBAEzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC,CAAC;;;;6BAGvE,UAAU,EAAV,wBAAU;wBAAE,qBAAO,UAAyB,CAAC,KAAK,EAAE,EAAA;;wBAAxC,SAAwC,CAAC;;;wBACzD,6BAAa,CAAC,SAAS,CAAC,2BAA2B,EAAE,KAAG,CAAC,CAAC;wBAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;;;;KAEvB;IACL,wBAAC;AAAD,CA/CA,AA+CC,IAAA;AA/CY,8CAAiB","file":"SchemaDropCommand.js","sourcesContent":["import {createConnection} from \"../globals\";\nimport {Connection} from \"../connection/Connection\";\nimport {ConnectionOptionsReader} from \"../connection/ConnectionOptionsReader\";\nimport * as yargs from \"yargs\";\nimport chalk from \"chalk\";\nimport { PlatformTools } from \"../platform/PlatformTools\";\n\n/**\n * Drops all tables of the database from the given connection.\n */\nexport class SchemaDropCommand implements yargs.CommandModule {\n command = \"schema:drop\";\n describe = \"Drops all tables in the database on your default connection. \" +\n \"To drop table of a concrete connection's database use -c option.\";\n\n builder(args: yargs.Argv) {\n return args\n .option(\"c\", {\n alias: \"connection\",\n default: \"default\",\n describe: \"Name of the connection on which to drop all tables.\"\n })\n .option(\"f\", {\n alias: \"config\",\n default: \"ormconfig\",\n describe: \"Name of the file with connection configuration.\"\n });\n }\n\n async handler(args: yargs.Arguments) {\n\n let connection: Connection|undefined = undefined;\n try {\n\n const connectionOptionsReader = new ConnectionOptionsReader({\n root: process.cwd(),\n configName: args.config as any\n });\n const connectionOptions = await connectionOptionsReader.get(args.connection as any);\n Object.assign(connectionOptions, {\n synchronize: false,\n migrationsRun: false,\n dropSchema: false,\n logging: [\"query\", \"schema\"]\n });\n connection = await createConnection(connectionOptions);\n await connection.dropDatabase();\n await connection.close();\n\n console.log(chalk.green(\"Database schema has been successfully dropped.\"));\n\n } catch (err) {\n if (connection) await (connection as Connection).close();\n PlatformTools.logCmdErr(\"Error during schema drop:\", err);\n process.exit(1);\n }\n }\n}\n"],"sourceRoot":".."}
|
|
@@ -6,6 +6,7 @@ var globals_1 = require("../globals");
|
|
|
6
6
|
var ConnectionOptionsReader_1 = require("../connection/ConnectionOptionsReader");
|
|
7
7
|
var cli_highlight_1 = require("cli-highlight");
|
|
8
8
|
var chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
|
|
9
|
+
var PlatformTools_1 = require("../platform/PlatformTools");
|
|
9
10
|
/**
|
|
10
11
|
* Shows sql to be executed by schema:sync command.
|
|
11
12
|
*/
|
|
@@ -79,8 +80,7 @@ var SchemaLogCommand = /** @class */ (function () {
|
|
|
79
80
|
case 6:
|
|
80
81
|
err_1 = _a.sent();
|
|
81
82
|
if (connection)
|
|
82
|
-
|
|
83
|
-
console.error(err_1);
|
|
83
|
+
PlatformTools_1.PlatformTools.logCmdErr("Error during schema synchronization:", err_1);
|
|
84
84
|
process.exit(1);
|
|
85
85
|
return [3 /*break*/, 7];
|
|
86
86
|
case 7: return [2 /*return*/];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/commands/SchemaLogCommand.ts"],"names":[],"mappings":";;;;AAAA,sCAA4C;AAE5C,iFAA8E;AAC9E,+CAAwC;AAExC,6DAA0B;
|
|
1
|
+
{"version":3,"sources":["../../src/commands/SchemaLogCommand.ts"],"names":[],"mappings":"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","file":"SchemaLogCommand.js","sourcesContent":["import {createConnection} from \"../globals\";\nimport {Connection} from \"../connection/Connection\";\nimport {ConnectionOptionsReader} from \"../connection/ConnectionOptionsReader\";\nimport {highlight} from \"cli-highlight\";\nimport * as yargs from \"yargs\";\nimport chalk from \"chalk\";\nimport { PlatformTools } from \"../platform/PlatformTools\";\n\n/**\n * Shows sql to be executed by schema:sync command.\n */\nexport class SchemaLogCommand implements yargs.CommandModule {\n\n command = \"schema:log\";\n describe = \"Shows sql to be executed by schema:sync command. It shows sql log only for your default connection. \" +\n \"To run update queries on a concrete connection use -c option.\";\n\n builder(args: yargs.Argv) {\n return args\n .option(\"c\", {\n alias: \"connection\",\n default: \"default\",\n describe: \"Name of the connection of which schema sync log should be shown.\"\n })\n .option(\"f\", {\n alias: \"config\",\n default: \"ormconfig\",\n describe: \"Name of the file with connection configuration.\"\n });\n }\n\n async handler(args: yargs.Arguments) {\n\n let connection: Connection|undefined = undefined;\n try {\n\n const connectionOptionsReader = new ConnectionOptionsReader({\n root: process.cwd(),\n configName: args.config as any\n });\n const connectionOptions = await connectionOptionsReader.get(args.connection as any);\n Object.assign(connectionOptions, {\n synchronize: false,\n migrationsRun: false,\n dropSchema: false,\n logging: false\n });\n connection = await createConnection(connectionOptions);\n const sqlInMemory = await connection.driver.createSchemaBuilder().log();\n if (sqlInMemory.upQueries.length === 0) {\n console.log(chalk.yellow(\"Your schema is up to date - there are no queries to be executed by schema synchronization.\"));\n\n } else {\n const lengthSeparators = String(sqlInMemory.upQueries.length).split(\"\").map(char => \"-\").join(\"\");\n console.log(chalk.yellow(\"---------------------------------------------------------------\" + lengthSeparators));\n console.log(chalk.yellow.bold(`-- Schema synchronization will execute following sql queries (${chalk.white(sqlInMemory.upQueries.length.toString())}):`));\n console.log(chalk.yellow(\"---------------------------------------------------------------\" + lengthSeparators));\n\n sqlInMemory.upQueries.forEach(upQuery => {\n let sqlString = upQuery.query;\n sqlString = sqlString.trim();\n sqlString = sqlString.substr(-1) === \";\" ? sqlString : sqlString + \";\";\n console.log(highlight(sqlString));\n });\n }\n await connection.close();\n\n } catch (err) {\n if (connection)\n \n PlatformTools.logCmdErr(\"Error during schema synchronization:\", err);\n process.exit(1);\n }\n }\n}\n"],"sourceRoot":".."}
|
|
@@ -5,6 +5,7 @@ var tslib_1 = require("tslib");
|
|
|
5
5
|
var globals_1 = require("../globals");
|
|
6
6
|
var ConnectionOptionsReader_1 = require("../connection/ConnectionOptionsReader");
|
|
7
7
|
var chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
|
|
8
|
+
var PlatformTools_1 = require("../platform/PlatformTools");
|
|
8
9
|
/**
|
|
9
10
|
* Synchronizes database schema with entities.
|
|
10
11
|
*/
|
|
@@ -69,8 +70,7 @@ var SchemaSyncCommand = /** @class */ (function () {
|
|
|
69
70
|
_a.sent();
|
|
70
71
|
_a.label = 8;
|
|
71
72
|
case 8:
|
|
72
|
-
|
|
73
|
-
console.error(err_1);
|
|
73
|
+
PlatformTools_1.PlatformTools.logCmdErr("Error during schema synchronization:", err_1);
|
|
74
74
|
process.exit(1);
|
|
75
75
|
return [3 /*break*/, 9];
|
|
76
76
|
case 9: return [2 /*return*/];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/commands/SchemaSyncCommand.ts"],"names":[],"mappings":";;;;AAAA,sCAA4C;AAE5C,iFAA8E;AAE9E,6DAA0B;
|
|
1
|
+
{"version":3,"sources":["../../src/commands/SchemaSyncCommand.ts"],"names":[],"mappings":";;;;AAAA,sCAA4C;AAE5C,iFAA8E;AAE9E,6DAA0B;AAC1B,2DAA0D;AAE1D;;GAEG;AACH;IAAA;QACI,YAAO,GAAG,aAAa,CAAC;QACxB,aAAQ,GAAG,8GAA8G;YACrH,+DAA+D,CAAC;IA4CxE,CAAC;IA1CG,mCAAO,GAAP,UAAQ,IAAgB;QACpB,OAAO,IAAI;aACN,MAAM,CAAC,GAAG,EAAE;YACT,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,yEAAyE;SACtF,CAAC;aACD,MAAM,CAAC,GAAG,EAAE;YACT,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE,iDAAiD;SAC9D,CAAC,CAAC;IACX,CAAC;IAEK,mCAAO,GAAb,UAAc,IAAqB;;;;;;wBAE3B,UAAU,GAAyB,SAAS,CAAC;;;;wBAEvC,uBAAuB,GAAG,IAAI,iDAAuB,CAAC;4BACxD,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE;4BACnB,UAAU,EAAE,IAAI,CAAC,MAAa;yBACjC,CAAC,CAAC;wBACuB,qBAAM,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAiB,CAAC,EAAA;;wBAA7E,iBAAiB,GAAG,SAAyD;wBACnF,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE;4BAC7B,WAAW,EAAE,KAAK;4BAClB,aAAa,EAAE,KAAK;4BACpB,UAAU,EAAE,KAAK;4BACjB,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;yBAC/B,CAAC,CAAC;wBACU,qBAAM,IAAA,0BAAgB,EAAC,iBAAiB,CAAC,EAAA;;wBAAtD,UAAU,GAAG,SAAyC,CAAC;wBACvD,qBAAM,UAAU,CAAC,WAAW,EAAE,EAAA;;wBAA9B,SAA8B,CAAC;wBAC/B,qBAAM,UAAU,CAAC,KAAK,EAAE,EAAA;;wBAAxB,SAAwB,CAAC;wBAEzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC,CAAC;;;;6BAGtE,UAAU,EAAV,wBAAU;wBAAE,qBAAO,UAAyB,CAAC,KAAK,EAAE,EAAA;;wBAAxC,SAAwC,CAAC;;;wBAEzD,6BAAa,CAAC,SAAS,CAAC,sCAAsC,EAAE,KAAG,CAAC,CAAC;wBACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;;;;KAEvB;IACL,wBAAC;AAAD,CA/CA,AA+CC,IAAA;AA/CY,8CAAiB","file":"SchemaSyncCommand.js","sourcesContent":["import {createConnection} from \"../globals\";\nimport {Connection} from \"../connection/Connection\";\nimport {ConnectionOptionsReader} from \"../connection/ConnectionOptionsReader\";\nimport * as yargs from \"yargs\";\nimport chalk from \"chalk\";\nimport { PlatformTools } from \"../platform/PlatformTools\";\n\n/**\n * Synchronizes database schema with entities.\n */\nexport class SchemaSyncCommand implements yargs.CommandModule {\n command = \"schema:sync\";\n describe = \"Synchronizes your entities with database schema. It runs schema update queries on all connections you have. \" +\n \"To run update queries on a concrete connection use -c option.\";\n\n builder(args: yargs.Argv) {\n return args\n .option(\"c\", {\n alias: \"connection\",\n default: \"default\",\n describe: \"Name of the connection on which schema synchronization needs to to run.\"\n })\n .option(\"f\", {\n alias: \"config\",\n default: \"ormconfig\",\n describe: \"Name of the file with connection configuration.\"\n });\n }\n\n async handler(args: yargs.Arguments) {\n\n let connection: Connection|undefined = undefined;\n try {\n const connectionOptionsReader = new ConnectionOptionsReader({\n root: process.cwd(),\n configName: args.config as any\n });\n const connectionOptions = await connectionOptionsReader.get(args.connection as any);\n Object.assign(connectionOptions, {\n synchronize: false,\n migrationsRun: false,\n dropSchema: false,\n logging: [\"query\", \"schema\"]\n });\n connection = await createConnection(connectionOptions);\n await connection.synchronize();\n await connection.close();\n\n console.log(chalk.green(\"Schema synchronization finished successfully.\"));\n\n } catch (err) {\n if (connection) await (connection as Connection).close();\n\n PlatformTools.logCmdErr(\"Error during schema synchronization:\", err);\n process.exit(1);\n }\n }\n}\n"],"sourceRoot":".."}
|
|
@@ -5,6 +5,7 @@ var tslib_1 = require("tslib");
|
|
|
5
5
|
var ConnectionOptionsReader_1 = require("../connection/ConnectionOptionsReader");
|
|
6
6
|
var CommandUtils_1 = require("./CommandUtils");
|
|
7
7
|
var chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
|
|
8
|
+
var PlatformTools_1 = require("../platform/PlatformTools");
|
|
8
9
|
/**
|
|
9
10
|
* Generates a new subscriber.
|
|
10
11
|
*/
|
|
@@ -73,8 +74,7 @@ var SubscriberCreateCommand = /** @class */ (function () {
|
|
|
73
74
|
return [3 /*break*/, 7];
|
|
74
75
|
case 6:
|
|
75
76
|
err_2 = _a.sent();
|
|
76
|
-
|
|
77
|
-
console.error(err_2);
|
|
77
|
+
PlatformTools_1.PlatformTools.logCmdErr("Error during subscriber creation:");
|
|
78
78
|
process.exit(1);
|
|
79
79
|
return [3 /*break*/, 7];
|
|
80
80
|
case 7: return [2 /*return*/];
|
|
@@ -89,7 +89,7 @@ var SubscriberCreateCommand = /** @class */ (function () {
|
|
|
89
89
|
* Gets contents of the entity file.
|
|
90
90
|
*/
|
|
91
91
|
SubscriberCreateCommand.getTemplate = function (name) {
|
|
92
|
-
return "import {EventSubscriber, EntitySubscriberInterface} from \"typeorm\";\n\n@EventSubscriber()\nexport class " + name + " implements EntitySubscriberInterface<any> {\n\n}\n";
|
|
92
|
+
return "import {EventSubscriber, EntitySubscriberInterface} from \"typeorm\";\nimport { PlatformTools } from '../platform/PlatformTools';\n\n@EventSubscriber()\nexport class " + name + " implements EntitySubscriberInterface<any> {\n\n}\n";
|
|
93
93
|
};
|
|
94
94
|
return SubscriberCreateCommand;
|
|
95
95
|
}());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/commands/SubscriberCreateCommand.ts"],"names":[],"mappings":";;;;AAAA,iFAA8E;AAC9E,+CAA4C;AAE5C,6DAA0B;
|
|
1
|
+
{"version":3,"sources":["../../src/commands/SubscriberCreateCommand.ts"],"names":[],"mappings":";;;;AAAA,iFAA8E;AAC9E,+CAA4C;AAE5C,6DAA0B;AAC1B,2DAA0D;AAE1D;;GAEG;AACH;IAAA;QACI,YAAO,GAAG,mBAAmB,CAAC;QAC9B,aAAQ,GAAG,6BAA6B,CAAC;IA2E7C,CAAC;IAzEG,yCAAO,GAAP,UAAQ,IAAgB;QACpB,OAAO,IAAI;aACN,MAAM,CAAC,GAAG,EAAE;YACT,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,gDAAgD;SAC7D,CAAC;aACD,MAAM,CAAC,GAAG,EAAE;YACT,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,+BAA+B;YACzC,MAAM,EAAE,IAAI;SACf,CAAC;aACD,MAAM,CAAC,GAAG,EAAE;YACT,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,+CAA+C;SAC5D,CAAC;aACD,MAAM,CAAC,GAAG,EAAE;YACT,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE,iDAAiD;SAC9D,CAAC,CAAC;IACX,CAAC;IAEK,yCAAO,GAAb,UAAc,IAAqB;;;;;;;wBAGrB,WAAW,GAAG,uBAAuB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAW,CAAC,CAAC;wBACpE,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;wBAC/B,SAAS,GAAG,IAAI,CAAC,GAAyB,CAAC;6BAG3C,CAAC,SAAS,EAAV,wBAAU;;;;wBAEA,uBAAuB,GAAG,IAAI,iDAAuB,CAAC;4BACxD,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE;4BACnB,UAAU,EAAE,IAAI,CAAC,MAAa;yBACjC,CAAC,CAAC;wBACuB,qBAAM,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAiB,CAAC,EAAA;;wBAA7E,iBAAiB,GAAG,SAAyD;wBACnF,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;;;;;;wBAI9F,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;4BACzC,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,SAAS,CAAC;yBAC/C;wBACK,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;wBAC7D,qBAAM,2BAAY,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,EAAA;;wBAAhD,SAAgD,CAAC;wBACjD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,gBAAc,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oCAAiC,CAAC,CAAC,CAAC;;;;wBAG1F,6BAAa,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAC;wBAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;;;;KAEvB;IAED,4EAA4E;IAC5E,2BAA2B;IAC3B,4EAA4E;IAE5E;;OAEG;IACc,mCAAW,GAA5B,UAA6B,IAAY;QACrC,OAAO,2KAIA,IAAI,wDAGlB,CAAC;IACE,CAAC;IAEL,8BAAC;AAAD,CA7EA,AA6EC,IAAA;AA7EY,0DAAuB","file":"SubscriberCreateCommand.js","sourcesContent":["import {ConnectionOptionsReader} from \"../connection/ConnectionOptionsReader\";\nimport {CommandUtils} from \"./CommandUtils\";\nimport * as yargs from \"yargs\";\nimport chalk from \"chalk\";\nimport { PlatformTools } from \"../platform/PlatformTools\";\n\n/**\n * Generates a new subscriber.\n */\nexport class SubscriberCreateCommand implements yargs.CommandModule {\n command = \"subscriber:create\";\n describe = \"Generates a new subscriber.\";\n\n builder(args: yargs.Argv) {\n return args\n .option(\"c\", {\n alias: \"connection\",\n default: \"default\",\n describe: \"Name of the connection on which to run a query\"\n })\n .option(\"n\", {\n alias: \"name\",\n describe: \"Name of the subscriber class.\",\n demand: true\n })\n .option(\"d\", {\n alias: \"dir\",\n describe: \"Directory where subscriber should be created.\"\n })\n .option(\"f\", {\n alias: \"config\",\n default: \"ormconfig\",\n describe: \"Name of the file with connection configuration.\"\n });\n }\n\n async handler(args: yargs.Arguments) {\n\n try {\n const fileContent = SubscriberCreateCommand.getTemplate(args.name as any);\n const filename = args.name + \".ts\";\n let directory = args.dir as string | undefined;\n\n // if directory is not set then try to open tsconfig and find default path there\n if (!directory) {\n try {\n const connectionOptionsReader = new ConnectionOptionsReader({\n root: process.cwd(),\n configName: args.config as any\n });\n const connectionOptions = await connectionOptionsReader.get(args.connection as any);\n directory = connectionOptions.cli ? (connectionOptions.cli.subscribersDir || \"\") : \"\";\n } catch (err) { }\n }\n\n if (directory && !directory.startsWith(\"/\")) {\n directory = process.cwd() + \"/\" + directory;\n }\n const path = (directory ? (directory + \"/\") : \"\") + filename;\n await CommandUtils.createFile(path, fileContent);\n console.log(chalk.green(`Subscriber ${chalk.blue(path)} has been created successfully.`));\n\n } catch (err) {\n PlatformTools.logCmdErr(\"Error during subscriber creation:\");\n process.exit(1);\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets contents of the entity file.\n */\n protected static getTemplate(name: string): string {\n return `import {EventSubscriber, EntitySubscriberInterface} from \"typeorm\";\nimport { PlatformTools } from '../platform/PlatformTools';\n\n@EventSubscriber()\nexport class ${name} implements EntitySubscriberInterface<any> {\n\n}\n`;\n }\n\n}\n"],"sourceRoot":".."}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wrapper type for relation type definitions in entities.
|
|
3
|
+
* Used to circumvent ESM modules circular dependency issue caused by reflection metadata saving the type of the property.
|
|
4
|
+
*
|
|
5
|
+
* Usage example:
|
|
6
|
+
* @Entity()
|
|
7
|
+
* export default class User {
|
|
8
|
+
*
|
|
9
|
+
* @OneToOne(() => Profile, profile => profile.user)
|
|
10
|
+
* profile: Relation<Profile>;
|
|
11
|
+
*
|
|
12
|
+
* }
|
|
13
|
+
*/
|
|
14
|
+
export declare type Relation<T> = T;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/common/RelationType.ts"],"names":[],"mappings":"","file":"RelationType.js","sourcesContent":["/**\n * Wrapper type for relation type definitions in entities.\n * Used to circumvent ESM modules circular dependency issue caused by reflection metadata saving the type of the property.\n *\n * Usage example:\n * @Entity()\n * export default class User {\n *\n * @OneToOne(() => Profile, profile => profile.user)\n * profile: Relation<Profile>;\n *\n * }\n */\nexport type Relation<T> = T;\n"],"sourceRoot":".."}
|
|
@@ -45,6 +45,11 @@ export interface BaseConnectionOptions {
|
|
|
45
45
|
* Transaction mode for migrations to run in
|
|
46
46
|
*/
|
|
47
47
|
readonly migrationsTransactionMode?: "all" | "none" | "each";
|
|
48
|
+
/**
|
|
49
|
+
* Typeorm metadata table name, in case of different name from "typeorm_metadata".
|
|
50
|
+
* Accepts single string name.
|
|
51
|
+
*/
|
|
52
|
+
readonly metadataTableName?: string;
|
|
48
53
|
/**
|
|
49
54
|
* Naming strategy to be used to name tables and columns in the database.
|
|
50
55
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/connection/BaseConnectionOptions.ts"],"names":[],"mappings":"","file":"BaseConnectionOptions.js","sourcesContent":["import {EntitySchema} from \"../entity-schema/EntitySchema\";\nimport {LoggerOptions} from \"../logger/LoggerOptions\";\nimport {NamingStrategyInterface} from \"../naming-strategy/NamingStrategyInterface\";\nimport {DatabaseType} from \"../driver/types/DatabaseType\";\nimport {Logger} from \"../logger/Logger\";\nimport {Connection} from \"./Connection\";\nimport {QueryResultCache} from \"../cache/QueryResultCache\";\n\n/**\n * BaseConnectionOptions is set of connection options shared by all database types.\n */\nexport interface BaseConnectionOptions {\n\n /**\n * Database type. This value is required.\n */\n readonly type: DatabaseType;\n\n /**\n * Connection name. If connection name is not given then it will be called \"default\".\n * Different connections must have different names.\n */\n readonly name?: string;\n\n /**\n * Entities to be loaded for this connection.\n * Accepts both entity classes and directories where from entities need to be loaded.\n * Directories support glob patterns.\n */\n readonly entities?: ((Function|string|EntitySchema<any>))[];\n\n /**\n * Subscribers to be loaded for this connection.\n * Accepts both subscriber classes and directories where from subscribers need to be loaded.\n * Directories support glob patterns.\n */\n readonly subscribers?: (Function|string)[];\n\n /**\n * Migrations to be loaded for this connection.\n * Accepts both migration classes and directories where from migrations need to be loaded.\n * Directories support glob patterns.\n */\n readonly migrations?: (Function|string)[];\n\n /**\n * Migrations table name, in case of different name from \"migrations\".\n * Accepts single string name.\n */\n readonly migrationsTableName?: string;\n\n /**\n * Transaction mode for migrations to run in\n */\n readonly migrationsTransactionMode?: \"all\" | \"none\" | \"each\";\n\n /**\n * Naming strategy to be used to name tables and columns in the database.\n */\n readonly namingStrategy?: NamingStrategyInterface;\n\n /**\n * Logging options.\n */\n readonly logging?: LoggerOptions;\n\n /**\n * Logger instance used to log queries and events in the ORM.\n */\n readonly logger?: \"advanced-console\"|\"simple-console\"|\"file\"|\"debug\"|Logger;\n\n /**\n * Maximum number of milliseconds query should be executed before logger log a warning.\n */\n readonly maxQueryExecutionTime?: number;\n\n /**\n * Indicates if database schema should be auto created on every application launch.\n * Be careful with this option and don't use this in production - otherwise you can lose production data.\n * This option is useful during debug and development.\n * Alternative to it, you can use CLI and run schema:sync command.\n *\n * Note that for MongoDB database it does not create schema, because MongoDB is schemaless.\n * Instead, it syncs just by creating indices.\n */\n readonly synchronize?: boolean;\n\n /**\n * Indicates if migrations should be auto run on every application launch.\n * Alternative to it, you can use CLI and run migrations:run command.\n */\n readonly migrationsRun?: boolean;\n\n /**\n * Drops the schema each time connection is being established.\n * Be careful with this option and don't use this in production - otherwise you'll lose all production data.\n * This option is useful during debug and development.\n */\n readonly dropSchema?: boolean;\n\n /**\n * Prefix to use on all tables (collections) of this connection in the database.\n */\n readonly entityPrefix?: string;\n\n /**\n * When creating new Entity instances, skip all constructors when true.\n */\n readonly entitySkipConstructor?: boolean;\n\n /**\n * Extra connection options to be passed to the underlying driver.\n *\n * todo: deprecate this and move all database-specific types into hts own connection options object.\n */\n readonly extra?: any;\n\n /**\n * Allows to setup cache options.\n */\n readonly cache?: boolean|{\n\n /**\n * Type of caching.\n *\n * - \"database\" means cached values will be stored in the separate table in database. This is default value.\n * - \"redis\" means cached values will be stored inside redis. You must provide redis connection options.\n */\n readonly type?: \"database\" | \"redis\" | \"ioredis\" | \"ioredis/cluster\"; // todo: add mongodb and other cache providers as well in the future\n\n /**\n * Factory function for custom cache providers that implement QueryResultCache.\n */\n readonly provider?: (connection: Connection) => QueryResultCache;\n\n /**\n * Configurable table name for \"database\" type cache.\n * Default value is \"query-result-cache\"\n */\n readonly tableName?: string;\n\n /**\n * Used to provide redis connection options.\n */\n readonly options?: any;\n\n /**\n * If set to true then queries (using find methods and QueryBuilder's methods) will always be cached.\n */\n readonly alwaysEnabled?: boolean;\n\n /**\n * Time in milliseconds in which cache will expire.\n * This can be setup per-query.\n * Default value is 1000 which is equivalent to 1 second.\n */\n readonly duration?: number;\n\n /**\n * Used to specify if cache errors should be ignored, and pass through the call to the Database.\n */\n readonly ignoreErrors?: boolean;\n };\n\n /**\n * CLI settings.\n */\n readonly cli?: {\n\n /**\n * Directory where entities should be created by default.\n */\n readonly entitiesDir?: string;\n\n /**\n * Directory where migrations should be created by default.\n */\n readonly migrationsDir?: string;\n\n /**\n * Directory where subscribers should be created by default.\n */\n readonly subscribersDir?: string;\n\n };\n\n}\n"],"sourceRoot":".."}
|
|
1
|
+
{"version":3,"sources":["../../src/connection/BaseConnectionOptions.ts"],"names":[],"mappings":"","file":"BaseConnectionOptions.js","sourcesContent":["import {EntitySchema} from \"../entity-schema/EntitySchema\";\nimport {LoggerOptions} from \"../logger/LoggerOptions\";\nimport {NamingStrategyInterface} from \"../naming-strategy/NamingStrategyInterface\";\nimport {DatabaseType} from \"../driver/types/DatabaseType\";\nimport {Logger} from \"../logger/Logger\";\nimport {Connection} from \"./Connection\";\nimport {QueryResultCache} from \"../cache/QueryResultCache\";\n\n/**\n * BaseConnectionOptions is set of connection options shared by all database types.\n */\nexport interface BaseConnectionOptions {\n\n /**\n * Database type. This value is required.\n */\n readonly type: DatabaseType;\n\n /**\n * Connection name. If connection name is not given then it will be called \"default\".\n * Different connections must have different names.\n */\n readonly name?: string;\n\n /**\n * Entities to be loaded for this connection.\n * Accepts both entity classes and directories where from entities need to be loaded.\n * Directories support glob patterns.\n */\n readonly entities?: ((Function|string|EntitySchema<any>))[];\n\n /**\n * Subscribers to be loaded for this connection.\n * Accepts both subscriber classes and directories where from subscribers need to be loaded.\n * Directories support glob patterns.\n */\n readonly subscribers?: (Function|string)[];\n\n /**\n * Migrations to be loaded for this connection.\n * Accepts both migration classes and directories where from migrations need to be loaded.\n * Directories support glob patterns.\n */\n readonly migrations?: (Function|string)[];\n\n /**\n * Migrations table name, in case of different name from \"migrations\".\n * Accepts single string name.\n */\n readonly migrationsTableName?: string;\n\n /**\n * Transaction mode for migrations to run in\n */\n readonly migrationsTransactionMode?: \"all\" | \"none\" | \"each\";\n\n /**\n * Typeorm metadata table name, in case of different name from \"typeorm_metadata\".\n * Accepts single string name.\n */\n readonly metadataTableName?: string;\n\n /**\n * Naming strategy to be used to name tables and columns in the database.\n */\n readonly namingStrategy?: NamingStrategyInterface;\n\n /**\n * Logging options.\n */\n readonly logging?: LoggerOptions;\n\n /**\n * Logger instance used to log queries and events in the ORM.\n */\n readonly logger?: \"advanced-console\"|\"simple-console\"|\"file\"|\"debug\"|Logger;\n\n /**\n * Maximum number of milliseconds query should be executed before logger log a warning.\n */\n readonly maxQueryExecutionTime?: number;\n\n /**\n * Indicates if database schema should be auto created on every application launch.\n * Be careful with this option and don't use this in production - otherwise you can lose production data.\n * This option is useful during debug and development.\n * Alternative to it, you can use CLI and run schema:sync command.\n *\n * Note that for MongoDB database it does not create schema, because MongoDB is schemaless.\n * Instead, it syncs just by creating indices.\n */\n readonly synchronize?: boolean;\n\n /**\n * Indicates if migrations should be auto run on every application launch.\n * Alternative to it, you can use CLI and run migrations:run command.\n */\n readonly migrationsRun?: boolean;\n\n /**\n * Drops the schema each time connection is being established.\n * Be careful with this option and don't use this in production - otherwise you'll lose all production data.\n * This option is useful during debug and development.\n */\n readonly dropSchema?: boolean;\n\n /**\n * Prefix to use on all tables (collections) of this connection in the database.\n */\n readonly entityPrefix?: string;\n\n /**\n * When creating new Entity instances, skip all constructors when true.\n */\n readonly entitySkipConstructor?: boolean;\n\n /**\n * Extra connection options to be passed to the underlying driver.\n *\n * todo: deprecate this and move all database-specific types into hts own connection options object.\n */\n readonly extra?: any;\n\n /**\n * Allows to setup cache options.\n */\n readonly cache?: boolean|{\n\n /**\n * Type of caching.\n *\n * - \"database\" means cached values will be stored in the separate table in database. This is default value.\n * - \"redis\" means cached values will be stored inside redis. You must provide redis connection options.\n */\n readonly type?: \"database\" | \"redis\" | \"ioredis\" | \"ioredis/cluster\"; // todo: add mongodb and other cache providers as well in the future\n\n /**\n * Factory function for custom cache providers that implement QueryResultCache.\n */\n readonly provider?: (connection: Connection) => QueryResultCache;\n\n /**\n * Configurable table name for \"database\" type cache.\n * Default value is \"query-result-cache\"\n */\n readonly tableName?: string;\n\n /**\n * Used to provide redis connection options.\n */\n readonly options?: any;\n\n /**\n * If set to true then queries (using find methods and QueryBuilder's methods) will always be cached.\n */\n readonly alwaysEnabled?: boolean;\n\n /**\n * Time in milliseconds in which cache will expire.\n * This can be setup per-query.\n * Default value is 1000 which is equivalent to 1 second.\n */\n readonly duration?: number;\n\n /**\n * Used to specify if cache errors should be ignored, and pass through the call to the Database.\n */\n readonly ignoreErrors?: boolean;\n };\n\n /**\n * CLI settings.\n */\n readonly cli?: {\n\n /**\n * Directory where entities should be created by default.\n */\n readonly entitiesDir?: string;\n\n /**\n * Directory where migrations should be created by default.\n */\n readonly migrationsDir?: string;\n\n /**\n * Directory where subscribers should be created by default.\n */\n readonly subscribersDir?: string;\n\n };\n\n}\n"],"sourceRoot":".."}
|