@biorate/migrations 1.165.12 → 2.0.0
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/dist/{index.js → cjs/index.js} +0 -1
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/src/default.config.js +5 -0
- package/dist/{src → cjs/src}/errors.js +0 -1
- package/dist/cjs/src/event-emitter.js +7 -0
- package/dist/{src → cjs/src}/index.js +3 -5
- package/dist/cjs/src/interfaces.js +1 -0
- package/dist/cjs/src/require-cjs.js +5 -0
- package/dist/cjs/src/require-esm.js +5 -0
- package/dist/{src → cjs/src}/root.js +3 -4
- package/dist/{src → cjs/src}/types/amqp.js +2 -2
- package/dist/{src → cjs/src}/types/clickhouse.js +0 -1
- package/dist/{src → cjs/src}/types/index.js +0 -1
- package/dist/{src → cjs/src}/types/kafka.js +2 -2
- package/dist/{src → cjs/src}/types/migration.js +0 -1
- package/dist/{src → cjs/src}/types/minio.js +2 -2
- package/dist/{src → cjs/src}/types/mongodb.js +2 -2
- package/dist/{src → cjs/src}/types/schema-registry.js +2 -2
- package/dist/{src → cjs/src}/types/sequelize.js +0 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/src/default.config.js +3 -0
- package/dist/esm/src/errors.js +8 -0
- package/dist/esm/src/event-emitter.js +3 -0
- package/dist/esm/src/index.js +8 -0
- package/dist/esm/src/interfaces.js +1 -0
- package/dist/esm/src/require-cjs.js +2 -0
- package/dist/esm/src/require-esm.js +2 -0
- package/dist/esm/src/root.js +136 -0
- package/dist/esm/src/types/amqp.js +31 -0
- package/dist/esm/src/types/clickhouse.js +61 -0
- package/dist/esm/src/types/index.js +7 -0
- package/dist/esm/src/types/kafka.js +27 -0
- package/dist/esm/src/types/migration.js +66 -0
- package/dist/esm/src/types/minio.js +35 -0
- package/dist/esm/src/types/mongodb.js +30 -0
- package/dist/esm/src/types/schema-registry.js +48 -0
- package/dist/esm/src/types/sequelize.js +38 -0
- package/dist/types/src/default.config.d.ts +1 -0
- package/dist/types/src/errors.d.ts +4 -0
- package/dist/types/src/event-emitter.d.ts +3 -0
- package/dist/types/src/index.d.ts +3 -0
- package/dist/types/src/require-cjs.d.ts +1 -0
- package/dist/types/src/require-esm.d.ts +1 -0
- package/dist/types/src/root.d.ts +27 -0
- package/dist/types/src/types/amqp.d.ts +6 -0
- package/dist/types/src/types/clickhouse.d.ts +6 -0
- package/dist/types/src/types/kafka.d.ts +6 -0
- package/dist/types/src/types/migration.d.ts +16 -0
- package/dist/types/src/types/minio.d.ts +6 -0
- package/dist/types/src/types/mongodb.d.ts +6 -0
- package/dist/types/src/types/schema-registry.d.ts +7 -0
- package/dist/types/src/types/sequelize.d.ts +6 -0
- package/package.json +48 -23
- package/.nyc_output/5dd7a2aa-147b-4304-84bf-effac0f982fd.json +0 -1
- package/.nyc_output/8ed41da4-40ec-49dc-8dbc-0ebaa3847e76.json +0 -1
- package/.nyc_output/f0726e72-3148-4051-b1f5-0768a33e5118.json +0 -1
- package/.nyc_output/processinfo/5dd7a2aa-147b-4304-84bf-effac0f982fd.json +0 -1
- package/.nyc_output/processinfo/8ed41da4-40ec-49dc-8dbc-0ebaa3847e76.json +0 -1
- package/.nyc_output/processinfo/f0726e72-3148-4051-b1f5-0768a33e5118.json +0 -1
- package/.nyc_output/processinfo/index.json +0 -1
- package/CHANGELOG.md +0 -1171
- package/coverage/base.css +0 -224
- package/coverage/block-navigation.js +0 -87
- package/coverage/clover.xml +0 -242
- package/coverage/coverage-final.json +0 -20
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +0 -206
- package/coverage/prettify.css +0 -1
- package/coverage/prettify.js +0 -2
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +0 -210
- package/coverage/src/errors.ts.html +0 -112
- package/coverage/src/index.html +0 -131
- package/coverage/src/root.ts.html +0 -385
- package/coverage/src/types/amqp.ts.html +0 -223
- package/coverage/src/types/clickhouse.ts.html +0 -271
- package/coverage/src/types/index.html +0 -236
- package/coverage/src/types/index.ts.html +0 -106
- package/coverage/src/types/kafka.ts.html +0 -190
- package/coverage/src/types/migration.ts.html +0 -361
- package/coverage/src/types/minio.ts.html +0 -202
- package/coverage/src/types/mongodb.ts.html +0 -193
- package/coverage/src/types/schema-registry.ts.html +0 -250
- package/coverage/src/types/sequelize.ts.html +0 -229
- package/coverage/tests/__mocks__/index.html +0 -116
- package/coverage/tests/__mocks__/index.ts.html +0 -439
- package/coverage/tests/migrations/amqp/test/00001_create-test.js.html +0 -94
- package/coverage/tests/migrations/amqp/test/00002_delete-test.js.html +0 -94
- package/coverage/tests/migrations/amqp/test/index.html +0 -131
- package/coverage/tests/migrations/kafka/admin/00001_create-test.js.html +0 -109
- package/coverage/tests/migrations/kafka/admin/00002_delete-test.js.html +0 -100
- package/coverage/tests/migrations/kafka/admin/index.html +0 -131
- package/coverage/tests/migrations/minio/minio/00001_create-test.js.html +0 -91
- package/coverage/tests/migrations/minio/minio/00002_delete-test.js.html +0 -94
- package/coverage/tests/migrations/minio/minio/index.html +0 -131
- package/coverage/tests/migrations/mongodb/mongodb/00001_create-index-test.js.html +0 -91
- package/coverage/tests/migrations/mongodb/mongodb/index.html +0 -116
- package/dist/index.js.map +0 -1
- package/dist/src/default.config.js +0 -6
- package/dist/src/default.config.js.map +0 -1
- package/dist/src/errors.js.map +0 -1
- package/dist/src/index.js.map +0 -1
- package/dist/src/interfaces.js +0 -2
- package/dist/src/interfaces.js.map +0 -1
- package/dist/src/root.js.map +0 -1
- package/dist/src/types/amqp.js.map +0 -1
- package/dist/src/types/clickhouse.js.map +0 -1
- package/dist/src/types/index.js.map +0 -1
- package/dist/src/types/kafka.js.map +0 -1
- package/dist/src/types/migration.js.map +0 -1
- package/dist/src/types/minio.js.map +0 -1
- package/dist/src/types/mongodb.js.map +0 -1
- package/dist/src/types/schema-registry.js.map +0 -1
- package/dist/src/types/sequelize.js.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
- package/index.d.ts +0 -26
- package/src/default.config.ts +0 -4
- package/src/errors.ts +0 -9
- package/src/index.ts +0 -10
- package/src/root.ts +0 -100
- package/src/types/amqp.ts +0 -46
- package/src/types/clickhouse.ts +0 -62
- package/src/types/kafka.ts +0 -35
- package/src/types/migration.ts +0 -92
- package/src/types/minio.ts +0 -39
- package/src/types/mongodb.ts +0 -36
- package/src/types/schema-registry.ts +0 -55
- package/src/types/sequelize.ts +0 -48
- package/tsconfig.build.json +0 -5
- package/tsconfig.json +0 -9
- /package/{index.ts → dist/types/index.d.ts} +0 -0
- /package/{src/interfaces.ts → dist/types/src/interfaces.d.ts} +0 -0
- /package/{src/types/index.ts → dist/types/src/types/index.d.ts} +0 -0
|
@@ -14,13 +14,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
const require_1 = require("./require-cjs.js");
|
|
17
18
|
__exportStar(require("./root"), exports);
|
|
18
19
|
__exportStar(require("./types/migration"), exports);
|
|
19
20
|
__exportStar(require("./types"), exports);
|
|
20
|
-
|
|
21
|
+
(0, require_1.requireCjs)(process.env.MIGRATIONS_CONFIG
|
|
21
22
|
? process.cwd() + process.env.MIGRATIONS_CONFIG
|
|
22
23
|
: './default.config');
|
|
23
|
-
|
|
24
|
-
? process.cwd() + process.env.MIGRATIONS_ROOT
|
|
25
|
-
: './root');
|
|
26
|
-
//# sourceMappingURL=index.js.map
|
|
24
|
+
(0, require_1.requireCjs)(process.env.MIGRATIONS_ROOT ? process.cwd() + process.env.MIGRATIONS_ROOT : './root');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -33,13 +33,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
33
33
|
};
|
|
34
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
35
|
exports.Root = void 0;
|
|
36
|
-
const events_1 = require("events");
|
|
37
36
|
const inversion_1 = require("@biorate/inversion");
|
|
38
37
|
const config_1 = require("@biorate/config");
|
|
39
38
|
const config_loader_1 = require("@biorate/config-loader");
|
|
40
39
|
const vault_1 = require("@biorate/vault");
|
|
41
40
|
const proxy_1 = require("@biorate/proxy");
|
|
42
|
-
const Migrations = __importStar(require("./types"));
|
|
43
41
|
const config_loader_env_1 = require("@biorate/config-loader-env");
|
|
44
42
|
const config_loader_fs_1 = require("@biorate/config-loader-fs");
|
|
45
43
|
const config_loader_vault_1 = require("@biorate/config-loader-vault");
|
|
@@ -50,7 +48,9 @@ const clickhouse_1 = require("@biorate/clickhouse");
|
|
|
50
48
|
const amqp_1 = require("@biorate/amqp");
|
|
51
49
|
const kafkajs_1 = require("@biorate/kafkajs");
|
|
52
50
|
const schema_registry_1 = require("@biorate/schema-registry");
|
|
53
|
-
|
|
51
|
+
const event_emitter_1 = require("./event-emitter");
|
|
52
|
+
const Migrations = __importStar(require("./types"));
|
|
53
|
+
let Root = class Root extends (0, inversion_1.Core)(event_emitter_1.EmitterEmitter) {
|
|
54
54
|
async initialize() {
|
|
55
55
|
process.exit(0);
|
|
56
56
|
}
|
|
@@ -160,4 +160,3 @@ inversion_1.container
|
|
|
160
160
|
.toSelf()
|
|
161
161
|
.inSingletonScope();
|
|
162
162
|
inversion_1.container.bind(Root).to(Root).inSingletonScope();
|
|
163
|
-
//# sourceMappingURL=root.js.map
|
|
@@ -11,6 +11,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.Amqp = void 0;
|
|
13
13
|
const inversion_1 = require("@biorate/inversion");
|
|
14
|
+
const require_1 = require("../require-cjs.js");
|
|
14
15
|
const migration_1 = require("./migration");
|
|
15
16
|
class Amqp extends migration_1.Migration {
|
|
16
17
|
async process() {
|
|
@@ -19,7 +20,7 @@ class Amqp extends migration_1.Migration {
|
|
|
19
20
|
await channel.waitForConnect();
|
|
20
21
|
await this.forEachPath(paths, async (file, name) => {
|
|
21
22
|
try {
|
|
22
|
-
await
|
|
23
|
+
await (0, require_1.requireCjs)(file)(channel, connection, config, this.config);
|
|
23
24
|
this.log(config.name, name);
|
|
24
25
|
}
|
|
25
26
|
catch (e) { }
|
|
@@ -32,4 +33,3 @@ __decorate([
|
|
|
32
33
|
(0, inversion_1.inject)(inversion_1.Types.Amqp),
|
|
33
34
|
__metadata("design:type", Object)
|
|
34
35
|
], Amqp.prototype, "connector", void 0);
|
|
35
|
-
//# sourceMappingURL=amqp.js.map
|
|
@@ -11,12 +11,13 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.Kafka = void 0;
|
|
13
13
|
const inversion_1 = require("@biorate/inversion");
|
|
14
|
+
const require_1 = require("../require-cjs.js");
|
|
14
15
|
const migration_1 = require("./migration");
|
|
15
16
|
class Kafka extends migration_1.Migration {
|
|
16
17
|
async process() {
|
|
17
18
|
await this.forEach('KafkaJSAdmin', async (config, connection, paths) => await this.forEachPath(paths, async (file, name) => {
|
|
18
19
|
try {
|
|
19
|
-
await
|
|
20
|
+
await (0, require_1.requireCjs)(file)(connection, config, this.config);
|
|
20
21
|
this.log(config.name, name);
|
|
21
22
|
}
|
|
22
23
|
catch (e) { }
|
|
@@ -28,4 +29,3 @@ __decorate([
|
|
|
28
29
|
(0, inversion_1.inject)(inversion_1.Types.Kafka),
|
|
29
30
|
__metadata("design:type", Object)
|
|
30
31
|
], Kafka.prototype, "connector", void 0);
|
|
31
|
-
//# sourceMappingURL=kafka.js.map
|
|
@@ -11,6 +11,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.Minio = void 0;
|
|
13
13
|
const inversion_1 = require("@biorate/inversion");
|
|
14
|
+
const require_1 = require("../require-cjs.js");
|
|
14
15
|
const migration_1 = require("./migration");
|
|
15
16
|
class Minio extends migration_1.Migration {
|
|
16
17
|
async process() {
|
|
@@ -24,7 +25,7 @@ class Minio extends migration_1.Migration {
|
|
|
24
25
|
await connection.getObject(tableName, name);
|
|
25
26
|
}
|
|
26
27
|
catch (e) {
|
|
27
|
-
await
|
|
28
|
+
await (0, require_1.requireCjs)(file)(connection, config, this.config);
|
|
28
29
|
await connection.putObject(tableName, name, Buffer.from('1'));
|
|
29
30
|
this.log(config.name, name);
|
|
30
31
|
}
|
|
@@ -36,4 +37,3 @@ __decorate([
|
|
|
36
37
|
(0, inversion_1.inject)(inversion_1.Types.Minio),
|
|
37
38
|
__metadata("design:type", Object)
|
|
38
39
|
], Minio.prototype, "connector", void 0);
|
|
39
|
-
//# sourceMappingURL=minio.js.map
|
|
@@ -11,12 +11,13 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.Mongodb = void 0;
|
|
13
13
|
const inversion_1 = require("@biorate/inversion");
|
|
14
|
+
const require_1 = require("../require-cjs.js");
|
|
14
15
|
const migration_1 = require("./migration");
|
|
15
16
|
class Mongodb extends migration_1.Migration {
|
|
16
17
|
async process() {
|
|
17
18
|
await this.forEach('MongoDB', async (config, connection, paths) => await this.forEachPath(paths, async (file, name) => {
|
|
18
19
|
try {
|
|
19
|
-
await
|
|
20
|
+
await (0, require_1.requireCjs)(file)(connection, config, this.config);
|
|
20
21
|
await connection
|
|
21
22
|
.collection(this.config.get('migrations.tableName', 'migrations'))
|
|
22
23
|
.insertOne({ _id: name });
|
|
@@ -31,4 +32,3 @@ __decorate([
|
|
|
31
32
|
(0, inversion_1.inject)(inversion_1.Types.Mongodb),
|
|
32
33
|
__metadata("design:type", Object)
|
|
33
34
|
], Mongodb.prototype, "connector", void 0);
|
|
34
|
-
//# sourceMappingURL=mongodb.js.map
|
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.SchemaRegistry = void 0;
|
|
13
13
|
const lodash_1 = require("lodash");
|
|
14
14
|
const inversion_1 = require("@biorate/inversion");
|
|
15
|
+
const require_1 = require("../require-cjs.js");
|
|
15
16
|
const migration_1 = require("./migration");
|
|
16
17
|
const errors_1 = require("../errors");
|
|
17
18
|
class SchemaRegistry extends migration_1.Migration {
|
|
@@ -23,7 +24,7 @@ class SchemaRegistry extends migration_1.Migration {
|
|
|
23
24
|
const name = fullName.split('_')?.[1]?.replace('.json', '');
|
|
24
25
|
if (!name)
|
|
25
26
|
throw new errors_1.SchemaRegistryWrongFileNameError(fullName);
|
|
26
|
-
const schema =
|
|
27
|
+
const schema = (0, require_1.requireCjs)(file);
|
|
27
28
|
await connection.putConfig({
|
|
28
29
|
subject: name,
|
|
29
30
|
compatibility: config.compatibility ?? 'FORWARD',
|
|
@@ -49,4 +50,3 @@ __decorate([
|
|
|
49
50
|
(0, inversion_1.inject)(inversion_1.Types.SchemaRegistry),
|
|
50
51
|
__metadata("design:type", Object)
|
|
51
52
|
], SchemaRegistry.prototype, "connector", void 0);
|
|
52
|
-
//# sourceMappingURL=schema-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './src/index.js';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { requireCjs } from './require-esm.js';
|
|
2
|
+
export * from './root.js';
|
|
3
|
+
export * from './types/migration.js';
|
|
4
|
+
export * from './types/index.js';
|
|
5
|
+
requireCjs(process.env.MIGRATIONS_CONFIG
|
|
6
|
+
? process.cwd() + process.env.MIGRATIONS_CONFIG
|
|
7
|
+
: './default.config');
|
|
8
|
+
requireCjs(process.env.MIGRATIONS_ROOT ? process.cwd() + process.env.MIGRATIONS_ROOT : './root');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { init, injectable, inject, Types, Core, container } from '@biorate/inversion';
|
|
11
|
+
import { Config } from '@biorate/config';
|
|
12
|
+
import { ConfigLoader } from '@biorate/config-loader';
|
|
13
|
+
import { VaultConnector } from '@biorate/vault';
|
|
14
|
+
import { ProxyConnector } from '@biorate/proxy';
|
|
15
|
+
import { ConfigLoaderEnv } from '@biorate/config-loader-env';
|
|
16
|
+
import { ConfigLoaderFs } from '@biorate/config-loader-fs';
|
|
17
|
+
import { ConfigLoaderVault } from '@biorate/config-loader-vault';
|
|
18
|
+
import { SequelizeConnector } from '@biorate/sequelize';
|
|
19
|
+
import { MinioConnector } from '@biorate/minio';
|
|
20
|
+
import { MongoDBConnector } from '@biorate/mongodb';
|
|
21
|
+
import { ClickhouseConnector } from '@biorate/clickhouse';
|
|
22
|
+
import { AmqpConnector } from '@biorate/amqp';
|
|
23
|
+
import { KafkaJSAdminConnector } from '@biorate/kafkajs';
|
|
24
|
+
import { SchemaRegistryConnector, } from '@biorate/schema-registry';
|
|
25
|
+
import { EmitterEmitter } from './event-emitter.js';
|
|
26
|
+
import * as Migrations from './types/index.js';
|
|
27
|
+
let Root = class Root extends Core(EmitterEmitter) {
|
|
28
|
+
async initialize() {
|
|
29
|
+
process.exit(0);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
__decorate([
|
|
33
|
+
inject(Types.Config),
|
|
34
|
+
__metadata("design:type", Object)
|
|
35
|
+
], Root.prototype, "config", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
inject(Types.ConfigLoaderEnv),
|
|
38
|
+
__metadata("design:type", ConfigLoader)
|
|
39
|
+
], Root.prototype, "configLoaderEnv", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
inject(Types.ConfigLoaderFs),
|
|
42
|
+
__metadata("design:type", ConfigLoader)
|
|
43
|
+
], Root.prototype, "configLoaderFs", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
inject(Types.ConfigLoaderVault),
|
|
46
|
+
__metadata("design:type", ConfigLoader)
|
|
47
|
+
], Root.prototype, "configLoaderVault", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
inject(Types.Vault),
|
|
50
|
+
__metadata("design:type", Object)
|
|
51
|
+
], Root.prototype, "vault", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
inject(Types.Proxy),
|
|
54
|
+
__metadata("design:type", Object)
|
|
55
|
+
], Root.prototype, "proxy", void 0);
|
|
56
|
+
__decorate([
|
|
57
|
+
inject(Migrations.Sequelize),
|
|
58
|
+
__metadata("design:type", Migrations.Sequelize)
|
|
59
|
+
], Root.prototype, "sequelize", void 0);
|
|
60
|
+
__decorate([
|
|
61
|
+
inject(Migrations.Minio),
|
|
62
|
+
__metadata("design:type", Migrations.Minio)
|
|
63
|
+
], Root.prototype, "minio", void 0);
|
|
64
|
+
__decorate([
|
|
65
|
+
inject(Migrations.Mongodb),
|
|
66
|
+
__metadata("design:type", Migrations.Mongodb)
|
|
67
|
+
], Root.prototype, "mongodb", void 0);
|
|
68
|
+
__decorate([
|
|
69
|
+
inject(Migrations.Kafka),
|
|
70
|
+
__metadata("design:type", Migrations.Kafka)
|
|
71
|
+
], Root.prototype, "kafkaJSAdmin", void 0);
|
|
72
|
+
__decorate([
|
|
73
|
+
inject(Migrations.Clickhouse),
|
|
74
|
+
__metadata("design:type", Migrations.Clickhouse)
|
|
75
|
+
], Root.prototype, "clickhouse", void 0);
|
|
76
|
+
__decorate([
|
|
77
|
+
inject(Migrations.Amqp),
|
|
78
|
+
__metadata("design:type", Migrations.Amqp)
|
|
79
|
+
], Root.prototype, "amqp", void 0);
|
|
80
|
+
__decorate([
|
|
81
|
+
inject(Migrations.SchemaRegistry),
|
|
82
|
+
__metadata("design:type", Migrations.SchemaRegistry)
|
|
83
|
+
], Root.prototype, "schemaRegistry", void 0);
|
|
84
|
+
__decorate([
|
|
85
|
+
init(),
|
|
86
|
+
__metadata("design:type", Function),
|
|
87
|
+
__metadata("design:paramtypes", []),
|
|
88
|
+
__metadata("design:returntype", Promise)
|
|
89
|
+
], Root.prototype, "initialize", null);
|
|
90
|
+
Root = __decorate([
|
|
91
|
+
injectable()
|
|
92
|
+
], Root);
|
|
93
|
+
export { Root };
|
|
94
|
+
Core.log = null;
|
|
95
|
+
container.bind(Types.Config).to(Config).inSingletonScope();
|
|
96
|
+
container
|
|
97
|
+
.bind(Types.ConfigLoaderEnv)
|
|
98
|
+
.to(ConfigLoaderEnv)
|
|
99
|
+
.inSingletonScope();
|
|
100
|
+
container.bind(Types.ConfigLoaderFs).to(ConfigLoaderFs).inSingletonScope();
|
|
101
|
+
container
|
|
102
|
+
.bind(Types.ConfigLoaderVault)
|
|
103
|
+
.to(ConfigLoaderVault)
|
|
104
|
+
.inSingletonScope();
|
|
105
|
+
container.bind(Types.Vault).to(VaultConnector).inSingletonScope();
|
|
106
|
+
container
|
|
107
|
+
.bind(Types.Sequelize)
|
|
108
|
+
.to(SequelizeConnector)
|
|
109
|
+
.inSingletonScope();
|
|
110
|
+
container.bind(Types.Minio).to(MinioConnector).inSingletonScope();
|
|
111
|
+
container.bind(Types.Mongodb).to(MongoDBConnector).inSingletonScope();
|
|
112
|
+
container
|
|
113
|
+
.bind(Types.Clickhouse)
|
|
114
|
+
.to(ClickhouseConnector)
|
|
115
|
+
.inSingletonScope();
|
|
116
|
+
container.bind(Types.Amqp).to(AmqpConnector).inSingletonScope();
|
|
117
|
+
container
|
|
118
|
+
.bind(Types.Kafka)
|
|
119
|
+
.to(KafkaJSAdminConnector)
|
|
120
|
+
.inSingletonScope();
|
|
121
|
+
container.bind(Types.Proxy).to(ProxyConnector).inSingletonScope();
|
|
122
|
+
container
|
|
123
|
+
.bind(Types.SchemaRegistry)
|
|
124
|
+
.to(SchemaRegistryConnector)
|
|
125
|
+
.inSingletonScope();
|
|
126
|
+
container.bind(Migrations.Sequelize).toSelf().inSingletonScope();
|
|
127
|
+
container.bind(Migrations.Minio).toSelf().inSingletonScope();
|
|
128
|
+
container.bind(Migrations.Mongodb).toSelf().inSingletonScope();
|
|
129
|
+
container.bind(Migrations.Kafka).toSelf().inSingletonScope();
|
|
130
|
+
container.bind(Migrations.Clickhouse).toSelf().inSingletonScope();
|
|
131
|
+
container.bind(Migrations.Amqp).toSelf().inSingletonScope();
|
|
132
|
+
container
|
|
133
|
+
.bind(Migrations.SchemaRegistry)
|
|
134
|
+
.toSelf()
|
|
135
|
+
.inSingletonScope();
|
|
136
|
+
container.bind(Root).to(Root).inSingletonScope();
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { inject, Types } from '@biorate/inversion';
|
|
11
|
+
import { requireCjs } from '../require-esm.js';
|
|
12
|
+
import { Migration } from './migration.js';
|
|
13
|
+
export class Amqp extends Migration {
|
|
14
|
+
async process() {
|
|
15
|
+
await this.forEach('Amqp', async (config, connection, paths) => {
|
|
16
|
+
const channel = connection.createChannel(this.config.get(`migrations.Amqp.${config.name}.amqpChannelOptions`, {}));
|
|
17
|
+
await channel.waitForConnect();
|
|
18
|
+
await this.forEachPath(paths, async (file, name) => {
|
|
19
|
+
try {
|
|
20
|
+
await requireCjs(file)(channel, connection, config, this.config);
|
|
21
|
+
this.log(config.name, name);
|
|
22
|
+
}
|
|
23
|
+
catch (e) { }
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
__decorate([
|
|
29
|
+
inject(Types.Amqp),
|
|
30
|
+
__metadata("design:type", Object)
|
|
31
|
+
], Amqp.prototype, "connector", void 0);
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { promises as fs } from 'fs';
|
|
11
|
+
import { inject, Types } from '@biorate/inversion';
|
|
12
|
+
import { Migration } from './migration.js';
|
|
13
|
+
export class Clickhouse extends Migration {
|
|
14
|
+
async process() {
|
|
15
|
+
await this.forEach('Clickhouse', async (config, connection, paths) => {
|
|
16
|
+
const tableName = this.config.get('migrations.tableName', 'migrations');
|
|
17
|
+
const createQuery = `
|
|
18
|
+
CREATE TABLE IF NOT EXISTS {tableName:Identifier} (
|
|
19
|
+
name String
|
|
20
|
+
)
|
|
21
|
+
ENGINE = MergeTree()
|
|
22
|
+
PRIMARY KEY (name);
|
|
23
|
+
`;
|
|
24
|
+
await connection.command({
|
|
25
|
+
query: createQuery,
|
|
26
|
+
query_params: { tableName },
|
|
27
|
+
clickhouse_settings: {
|
|
28
|
+
wait_end_of_query: 1,
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
await this.forEachPath(paths, async (file, name) => {
|
|
32
|
+
const cursor = await connection.query({
|
|
33
|
+
query: `SELECT * FROM {tableName:Identifier} WHERE name = {name:String};`,
|
|
34
|
+
query_params: { name, tableName },
|
|
35
|
+
format: 'JSON',
|
|
36
|
+
});
|
|
37
|
+
const { data } = await cursor.json();
|
|
38
|
+
if (data.length)
|
|
39
|
+
return;
|
|
40
|
+
await connection.command({
|
|
41
|
+
query: await fs.readFile(file, 'utf8'),
|
|
42
|
+
clickhouse_settings: {
|
|
43
|
+
wait_end_of_query: 1,
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
await connection.command({
|
|
47
|
+
query: `INSERT INTO {tableName:Identifier} (name) VALUES ({name:String})`,
|
|
48
|
+
query_params: { name, tableName },
|
|
49
|
+
clickhouse_settings: {
|
|
50
|
+
wait_end_of_query: 1,
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
this.log(config.name, name);
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
__decorate([
|
|
59
|
+
inject(Types.Clickhouse),
|
|
60
|
+
__metadata("design:type", Object)
|
|
61
|
+
], Clickhouse.prototype, "connector", void 0);
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { inject, Types } from '@biorate/inversion';
|
|
11
|
+
import { requireCjs } from '../require-esm.js';
|
|
12
|
+
import { Migration } from './migration.js';
|
|
13
|
+
export class Kafka extends Migration {
|
|
14
|
+
async process() {
|
|
15
|
+
await this.forEach('KafkaJSAdmin', async (config, connection, paths) => await this.forEachPath(paths, async (file, name) => {
|
|
16
|
+
try {
|
|
17
|
+
await requireCjs(file)(connection, config, this.config);
|
|
18
|
+
this.log(config.name, name);
|
|
19
|
+
}
|
|
20
|
+
catch (e) { }
|
|
21
|
+
}));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
__decorate([
|
|
25
|
+
inject(Types.Kafka),
|
|
26
|
+
__metadata("design:type", Object)
|
|
27
|
+
], Kafka.prototype, "connector", void 0);
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { promises as fs } from 'fs';
|
|
11
|
+
import { path } from '@biorate/tools';
|
|
12
|
+
import { init, injectable, inject, Types } from '@biorate/inversion';
|
|
13
|
+
let Migration = class Migration {
|
|
14
|
+
get type() {
|
|
15
|
+
return this.constructor.name.toLowerCase();
|
|
16
|
+
}
|
|
17
|
+
async scan(...args) {
|
|
18
|
+
try {
|
|
19
|
+
return (await fs.readdir(this.path(...args))).map((item) => this.path(...args, item));
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
path(...args) {
|
|
26
|
+
return path.create(process.cwd(), this.config.get('migrations.directory', 'migrations'), this.type, ...args);
|
|
27
|
+
}
|
|
28
|
+
log(...args) {
|
|
29
|
+
console.info(this.type, ...args, 'up!');
|
|
30
|
+
}
|
|
31
|
+
async initialize() {
|
|
32
|
+
console.info(this.constructor.name);
|
|
33
|
+
await this.process();
|
|
34
|
+
}
|
|
35
|
+
async forEach(namespace, callback) {
|
|
36
|
+
for (const config of this.config.get(namespace, [])) {
|
|
37
|
+
const paths = await this.scan(config.name);
|
|
38
|
+
if (!paths.length)
|
|
39
|
+
continue;
|
|
40
|
+
const connection = this.connector.connection(config.name);
|
|
41
|
+
if (!connection) {
|
|
42
|
+
console.info(`${namespace} connection [%s] not exists, skip...`, config.name);
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
await callback(config, connection, paths);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
async forEachPath(paths, callback) {
|
|
49
|
+
for (const p of paths)
|
|
50
|
+
await callback(p, path.basename(p));
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
__decorate([
|
|
54
|
+
inject(Types.Config),
|
|
55
|
+
__metadata("design:type", Object)
|
|
56
|
+
], Migration.prototype, "config", void 0);
|
|
57
|
+
__decorate([
|
|
58
|
+
init(),
|
|
59
|
+
__metadata("design:type", Function),
|
|
60
|
+
__metadata("design:paramtypes", []),
|
|
61
|
+
__metadata("design:returntype", Promise)
|
|
62
|
+
], Migration.prototype, "initialize", null);
|
|
63
|
+
Migration = __decorate([
|
|
64
|
+
injectable()
|
|
65
|
+
], Migration);
|
|
66
|
+
export { Migration };
|