@biorate/migrations 1.0.0 → 1.4.2

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.
Files changed (41) hide show
  1. package/.nyc_output/ec155b37-e583-43e9-ab27-b2091d8064ad.json +1 -0
  2. package/.nyc_output/processinfo/ec155b37-e583-43e9-ab27-b2091d8064ad.json +1 -0
  3. package/.nyc_output/processinfo/index.json +1 -1
  4. package/CHANGELOG.md +30 -0
  5. package/coverage/lcov-report/index.html +17 -17
  6. package/coverage/lcov-report/src/default.config.ts.html +22 -4
  7. package/coverage/lcov-report/src/index.html +7 -7
  8. package/coverage/lcov-report/src/index.ts.html +1 -1
  9. package/coverage/lcov-report/src/root.ts.html +14 -5
  10. package/coverage/lcov-report/src/types/index.html +51 -21
  11. package/coverage/lcov-report/src/types/index.ts.html +10 -4
  12. package/coverage/lcov-report/src/types/migration.ts.html +119 -14
  13. package/coverage/lcov-report/src/types/minio.ts.html +196 -0
  14. package/coverage/lcov-report/src/types/mongodb.ts.html +187 -0
  15. package/coverage/lcov-report/src/types/sequelize.ts.html +56 -41
  16. package/coverage/lcov.info +140 -67
  17. package/dist/src/default.config.js +6 -0
  18. package/dist/src/default.config.js.map +1 -1
  19. package/dist/src/root.js +8 -0
  20. package/dist/src/root.js.map +1 -1
  21. package/dist/src/types/index.js +2 -0
  22. package/dist/src/types/index.js.map +1 -1
  23. package/dist/src/types/migration.js +23 -1
  24. package/dist/src/types/migration.js.map +1 -1
  25. package/dist/src/types/minio.js +39 -0
  26. package/dist/src/types/minio.js.map +1 -0
  27. package/dist/src/types/mongodb.js +34 -0
  28. package/dist/src/types/mongodb.js.map +1 -0
  29. package/dist/src/types/sequelize.js +12 -24
  30. package/dist/src/types/sequelize.js.map +1 -1
  31. package/dist/tsconfig.build.tsbuildinfo +1 -1
  32. package/package.json +11 -8
  33. package/src/default.config.ts +6 -0
  34. package/src/root.ts +3 -1
  35. package/src/types/index.ts +2 -0
  36. package/src/types/migration.ts +42 -1
  37. package/src/types/minio.ts +37 -0
  38. package/src/types/mongodb.ts +34 -0
  39. package/src/types/sequelize.ts +34 -33
  40. package/.nyc_output/6c4e5be1-f3fe-46fc-b73e-40a57317040b.json +0 -1
  41. package/.nyc_output/processinfo/6c4e5be1-f3fe-46fc-b73e-40a57317040b.json +0 -1
@@ -2,12 +2,20 @@ import { promises as fs } from 'fs';
2
2
  import { path } from '@biorate/tools';
3
3
  import { init, injectable, inject, Types } from '@biorate/inversion';
4
4
  import { IConfig } from '@biorate/config';
5
+ import { IConnector, IConnectorConfig } from '@biorate/connector';
5
6
  /**
6
7
  * @description Abstract migration class
7
8
  */
8
9
  @injectable()
9
10
  export abstract class Migration {
11
+ /**
12
+ * @description config property
13
+ */
10
14
  @inject(Types.Config) protected config: IConfig;
15
+ /**
16
+ * @description connector property
17
+ */
18
+ protected abstract connector: IConnector<IConnectorConfig>;
11
19
  /**
12
20
  * @description Get migration type
13
21
  */
@@ -18,7 +26,13 @@ export abstract class Migration {
18
26
  * @description Scan migration directory
19
27
  */
20
28
  protected async scan(...args: string[]) {
21
- return (await fs.readdir(this.path(...args))).map((item) => this.path(...args, item));
29
+ try {
30
+ return (await fs.readdir(this.path(...args))).map((item) =>
31
+ this.path(...args, item),
32
+ );
33
+ } catch {
34
+ return [] as string[];
35
+ }
22
36
  }
23
37
  /**
24
38
  * @description Create path to migrations directory
@@ -44,6 +58,33 @@ export abstract class Migration {
44
58
  console.log(this.constructor.name);
45
59
  await this.process();
46
60
  }
61
+ /**
62
+ * @description For each migration item
63
+ */
64
+ protected async forEach<T extends { name: string }, C>(
65
+ namespace: string,
66
+ callback: (config: T, connection: C, paths: string[]) => Promise<void>,
67
+ ) {
68
+ for (const config of this.config.get<T[]>(namespace, [])) {
69
+ const paths = await this.scan(config.name);
70
+ if (!paths.length) continue;
71
+ const connection = this.connector.connection(config.name);
72
+ if (!connection) {
73
+ console.info(`${namespace} connection [%s] not exists, skip...`, config.name);
74
+ continue;
75
+ }
76
+ await callback(config, connection, paths);
77
+ }
78
+ }
79
+ /**
80
+ * @description For each migration item
81
+ */
82
+ protected async forEachPath(
83
+ paths: string[],
84
+ callback: (file: string, name: string) => Promise<void>,
85
+ ) {
86
+ for (const p of paths) await callback(p, path.basename(p));
87
+ }
47
88
  /**
48
89
  * @description Abstract async process method
49
90
  */
@@ -0,0 +1,37 @@
1
+ import { Migration } from './migration';
2
+ import { IMinioDBConnector, IMinioConfig, IMinioConnection } from '@biorate/minio';
3
+ import { inject, Types } from '@biorate/inversion';
4
+ /**
5
+ * @description Minio migration class
6
+ */
7
+ export class Minio extends Migration {
8
+ @inject(Types.Minio) protected connector: IMinioDBConnector;
9
+ /**
10
+ * @description Minio process method realization
11
+ */
12
+ protected async process() {
13
+ await this.forEach<IMinioConfig, IMinioConnection>(
14
+ 'Minio',
15
+ async (config, connection, paths) =>
16
+ await this.forEachPath(paths, async (file, name) => {
17
+ const tableName = this.config.get<string>('migrations.tableName', 'migrations');
18
+ try {
19
+ await connection.makeBucket(tableName, tableName);
20
+ } catch {}
21
+
22
+ try {
23
+ await connection.getObject(tableName, name);
24
+ } catch (e) {
25
+ await (
26
+ require(file) as (
27
+ connection: IMinioConnection,
28
+ config: IMinioConfig,
29
+ ) => Promise<void>
30
+ )(connection, config);
31
+ await connection.putObject(tableName, name, Buffer.from('1'));
32
+ this.log(config.name, name);
33
+ }
34
+ }),
35
+ );
36
+ }
37
+ }
@@ -0,0 +1,34 @@
1
+ import { Migration } from './migration';
2
+ import { IMongoDBConfig, IMongoDBConnection, IMongoDBConnector } from '@biorate/mongodb';
3
+ import { inject, Types } from '@biorate/inversion';
4
+ /**
5
+ * @description Mongodb migration class
6
+ */
7
+ export class Mongodb extends Migration {
8
+ @inject(Types.Mongodb) protected connector: IMongoDBConnector;
9
+ /**
10
+ * @description Mongodb process method realization
11
+ */
12
+ protected async process() {
13
+ await this.forEach<IMongoDBConfig, IMongoDBConnection>(
14
+ 'MongoDB',
15
+ async (config, connection, paths) =>
16
+ await this.forEachPath(paths, async (file, name) => {
17
+ try {
18
+ await connection
19
+ .collection<{ _id: string }>(
20
+ this.config.get<string>('migrations.tableName', 'migrations'),
21
+ )
22
+ .insertOne({ _id: name });
23
+ await (
24
+ require(file) as (
25
+ connection: IMongoDBConnection,
26
+ config: IMongoDBConfig,
27
+ ) => Promise<void>
28
+ )(connection, config);
29
+ this.log(config.name, name);
30
+ } catch (e) {}
31
+ }),
32
+ );
33
+ }
34
+ }
@@ -1,46 +1,47 @@
1
1
  import { promises as fs } from 'fs';
2
- import { path } from '@biorate/tools';
3
- import { Migration } from './migration';
4
- import { ISequelizeConnector, ISequelizeConfig, DataType } from '@biorate/sequelize';
5
2
  import { inject, Types } from '@biorate/inversion';
3
+ import { Migration } from './migration';
4
+ import {
5
+ ISequelizeConnector,
6
+ ISequelizeConfig,
7
+ ISequelizeConnection,
8
+ DataType,
9
+ } from '@biorate/sequelize';
6
10
  /**
7
11
  * @description Sequelize migration class
8
12
  */
9
13
  export class Sequelize extends Migration {
10
- @inject(Types.Sequelize) protected sequelize: ISequelizeConnector;
14
+ @inject(Types.Sequelize) protected connector: ISequelizeConnector;
11
15
  /**
12
16
  * @description Sequelize process method realization
13
17
  */
14
18
  protected async process() {
15
- for (const config of this.config.get<ISequelizeConfig[]>('Sequelize', [])) {
16
- const paths = await this.scan(config.name);
17
- if (!paths.length) continue;
18
- const connection = this.sequelize.connection(config.name);
19
- if (!connection) {
20
- console.info(`Sequelize connection [%s] not exists, skip...`, config.name);
21
- continue;
22
- }
23
- const model = connection.define(
24
- this.config.get<string>('migrations.tableName', 'migrations'),
25
- {
26
- name: {
27
- type: DataType.CHAR,
28
- primaryKey: true,
19
+ await this.forEach<ISequelizeConfig, ISequelizeConnection>(
20
+ 'Sequelize',
21
+ async (config, connection, paths) => {
22
+ const model = connection.define(
23
+ this.config.get<string>('migrations.tableName', 'migrations'),
24
+ {
25
+ name: {
26
+ type: DataType.CHAR,
27
+ primaryKey: true,
28
+ },
29
29
  },
30
- },
31
- { timestamps: false },
32
- );
33
- await model.sync({});
34
- for (const p of paths) {
35
- const name = path.basename(p);
36
- await connection.transaction(async () => {
37
- const item = await model.findOne({ where: { name } });
38
- if (item) return;
39
- await connection.query(await fs.readFile(p, 'utf8'));
40
- await model.create({ name });
41
- this.log(config.name, name);
42
- });
43
- }
44
- }
30
+ { timestamps: false },
31
+ );
32
+ await model.sync({});
33
+ await this.forEachPath(
34
+ paths,
35
+ async (file, name) =>
36
+ await connection.transaction(async () => {
37
+ const item = await model.findOne({ where: { name } });
38
+ if (item) return;
39
+ await connection.query(await fs.readFile(file, 'utf8'));
40
+ await model.create({ name });
41
+ this.log(config.name, name);
42
+ }),
43
+ );
44
+ },
45
+ );
45
46
  }
46
47
  }
@@ -1 +0,0 @@
1
- {"/www/biorate/core/packages/@biorate/migrations/src/default.config.ts":{"path":"/www/biorate/core/packages/@biorate/migrations/src/default.config.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":20},"end":{"line":3,"column":49}},"2":{"start":{"line":4,"column":22},"end":{"line":4,"column":53}},"3":{"start":{"line":5,"column":20},"end":{"line":5,"column":49}},"4":{"start":{"line":6,"column":11},"end":{"line":6,"column":24}},"5":{"start":{"line":7,"column":19},"end":{"line":7,"column":37}},"6":{"start":{"line":8,"column":0},"end":{"line":8,"column":101}},"7":{"start":{"line":9,"column":0},"end":{"line":12,"column":24}},"8":{"start":{"line":13,"column":0},"end":{"line":13,"column":77}},"9":{"start":{"line":14,"column":0},"end":{"line":14,"column":64}},"10":{"start":{"line":15,"column":0},"end":{"line":15,"column":63}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1},"f":{},"b":{},"inputSourceMap":{"version":3,"file":"file:///www/biorate/core/packages/@biorate/migrations/src/default.config.ts","sources":["file:///www/biorate/core/packages/@biorate/migrations/src/default.config.ts"],"names":[],"mappings":";;AAAA,kDAAsD;AAEtD,sDAAkD;AAClD,kDAA8E;AAC9E,yBAA0B;AAC1B,sCAAsC;AAEtC,qBAAS,CAAC,IAAI,CAAU,iBAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,wBAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC;AACxE,qBAAS;KACN,IAAI,CAAuB,iBAAK,CAAC,SAAS,CAAC;KAC3C,EAAE,CAAC,8BAAkB,CAAC;KACtB,gBAAgB,EAAE,CAAC;AACtB,qBAAS,CAAC,IAAI,CAAuB,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;AACvF,qBAAS,CAAC,IAAI,CAAO,OAAI,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;AACvD,qBAAS,CAAC,GAAG,CAAO,OAAI,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC","sourcesContent":["import { container, Types } from '@biorate/inversion';\nimport { IConfig } from '@biorate/config';\nimport { FileConfig } from '@biorate/file-config';\nimport { ISequelizeConnection, SequelizeConnector } from '@biorate/sequelize';\nimport { Root } from './';\nimport * as Migrations from './types';\n\ncontainer.bind<IConfig>(Types.Config).to(FileConfig).inSingletonScope();\ncontainer\n .bind<ISequelizeConnection>(Types.Sequelize)\n .to(SequelizeConnector)\n .inSingletonScope();\ncontainer.bind<Migrations.Sequelize>(Migrations.Sequelize).toSelf().inSingletonScope();\ncontainer.bind<Root>(Root).toSelf().inSingletonScope();\ncontainer.get<Root>(Root).$run().catch(console.error);\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c0a21dd860a80c409c9fd02d9db57ae580b2965a","contentHash":"f67dc8f4b860bb82d17175c04dd64c9b1ce55d7b3859bf0508195c4b36778270"},"/www/biorate/core/packages/@biorate/migrations/src/index.ts":{"path":"/www/biorate/core/packages/@biorate/migrations/src/index.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":19},"end":{"line":15,"column":1}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":126}},"13":{"start":{"line":14,"column":21},"end":{"line":14,"column":126}},"14":{"start":{"line":14,"column":95},"end":{"line":14,"column":126}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":62}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":41}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":52}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":42}},"19":{"start":{"line":20,"column":0},"end":{"line":22,"column":26}},"20":{"start":{"line":23,"column":0},"end":{"line":25,"column":16}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":50},"end":{"line":13,"column":51}},"loc":{"start":{"line":13,"column":71},"end":{"line":15,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{"line":5,"column":4},"end":{"line":7,"column":5}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{"line":10,"column":4},"end":{"line":10,"column":33}}],"line":10},"8":{"loc":{"start":{"line":13,"column":19},"end":{"line":15,"column":1}},"type":"binary-expr","locations":[{"start":{"line":13,"column":20},"end":{"line":13,"column":24}},{"start":{"line":13,"column":28},"end":{"line":13,"column":45}},{"start":{"line":13,"column":50},"end":{"line":15,"column":1}}],"line":13},"9":{"loc":{"start":{"line":14,"column":21},"end":{"line":14,"column":126}},"type":"if","locations":[{"start":{"line":14,"column":21},"end":{"line":14,"column":126}},{"start":{"line":14,"column":21},"end":{"line":14,"column":126}}],"line":14},"10":{"loc":{"start":{"line":14,"column":25},"end":{"line":14,"column":93}},"type":"binary-expr","locations":[{"start":{"line":14,"column":25},"end":{"line":14,"column":40}},{"start":{"line":14,"column":44},"end":{"line":14,"column":93}}],"line":14},"11":{"loc":{"start":{"line":20,"column":8},"end":{"line":22,"column":24}},"type":"cond-expr","locations":[{"start":{"line":21,"column":6},"end":{"line":21,"column":51}},{"start":{"line":22,"column":6},"end":{"line":22,"column":24}}],"line":20},"12":{"loc":{"start":{"line":23,"column":8},"end":{"line":25,"column":14}},"type":"cond-expr","locations":[{"start":{"line":24,"column":6},"end":{"line":24,"column":49}},{"start":{"line":25,"column":6},"end":{"line":25,"column":14}}],"line":23}},"s":{"0":1,"1":3,"2":3,"3":3,"4":3,"5":2,"6":2,"7":3,"8":0,"9":0,"10":0,"11":1,"12":3,"13":3,"14":3,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1},"f":{"0":3,"1":2,"2":0,"3":3},"b":{"0":[1,1,1],"1":[1,0],"2":[3,0],"3":[2,1],"4":[3,3],"5":[1,2],"6":[2,0],"7":[0,0],"8":[1,1,1],"9":[3,0],"10":[3,3],"11":[0,1],"12":[0,1]},"inputSourceMap":{"version":3,"file":"file:///www/biorate/core/packages/@biorate/migrations/src/index.ts","sources":["file:///www/biorate/core/packages/@biorate/migrations/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,yCAAuB;AACvB,oDAAkC;AAClC,0CAAwB;AAExB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB;IACnC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB;IAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC;AACxB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe;IACjC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe;IAC7C,CAAC,CAAC,QAAQ,CAAC,CAAC","sourcesContent":["import {container} from \"@biorate/inversion\";\n\nexport * from './root';\nexport * from './types/migration';\nexport * from './types';\n\nrequire(process.env.MIGRATIONS_CONFIG\n ? process.cwd() + process.env.MIGRATIONS_CONFIG\n : './default.config');\nrequire(process.env.MIGRATIONS_ROOT\n ? process.cwd() + process.env.MIGRATIONS_ROOT\n : './root');\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c3954d693cbb7716c4f70cc36ce60eb316f7bef2","contentHash":"b9af6ab46583e836a33c20764d0246d9c1dc6a2a290b4ced17f083442d301356"},"/www/biorate/core/packages/@biorate/migrations/src/root.ts":{"path":"/www/biorate/core/packages/@biorate/migrations/src/root.ts","statementMap":{"0":{"start":{"line":2,"column":17},"end":{"line":7,"column":1}},"1":{"start":{"line":3,"column":12},"end":{"line":3,"column":28}},"2":{"start":{"line":3,"column":34},"end":{"line":3,"column":125}},"3":{"start":{"line":4,"column":4},"end":{"line":5,"column":150}},"4":{"start":{"line":4,"column":79},"end":{"line":4,"column":131}},"5":{"start":{"line":5,"column":9},"end":{"line":5,"column":150}},"6":{"start":{"line":5,"column":22},"end":{"line":5,"column":43}},"7":{"start":{"line":5,"column":58},"end":{"line":5,"column":150}},"8":{"start":{"line":5,"column":81},"end":{"line":5,"column":150}},"9":{"start":{"line":6,"column":4},"end":{"line":6,"column":66}},"10":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"11":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"12":{"start":{"line":9,"column":79},"end":{"line":9,"column":109}},"13":{"start":{"line":11,"column":0},"end":{"line":11,"column":62}},"14":{"start":{"line":12,"column":0},"end":{"line":12,"column":22}},"15":{"start":{"line":13,"column":20},"end":{"line":13,"column":49}},"16":{"start":{"line":14,"column":19},"end":{"line":14,"column":37}},"17":{"start":{"line":15,"column":11},"end":{"line":19,"column":1}},"18":{"start":{"line":17,"column":8},"end":{"line":17,"column":23}},"19":{"start":{"line":20,"column":0},"end":{"line":23,"column":37}},"20":{"start":{"line":24,"column":0},"end":{"line":27,"column":40}},"21":{"start":{"line":28,"column":0},"end":{"line":33,"column":39}},"22":{"start":{"line":34,"column":0},"end":{"line":36,"column":9}},"23":{"start":{"line":37,"column":0},"end":{"line":37,"column":20}},"24":{"start":{"line":38,"column":0},"end":{"line":38,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":46},"end":{"line":2,"column":47}},"loc":{"start":{"line":2,"column":87},"end":{"line":7,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":46},"end":{"line":8,"column":47}},"loc":{"start":{"line":8,"column":62},"end":{"line":10,"column":1}},"line":8},"2":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":4},"end":{"line":16,"column":5}},"loc":{"start":{"line":16,"column":23},"end":{"line":18,"column":5}},"line":16}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":17},"end":{"line":7,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":18},"end":{"line":2,"column":22}},{"start":{"line":2,"column":26},"end":{"line":2,"column":41}},{"start":{"line":2,"column":46},"end":{"line":7,"column":1}}],"line":2},"1":{"loc":{"start":{"line":3,"column":34},"end":{"line":3,"column":125}},"type":"cond-expr","locations":[{"start":{"line":3,"column":42},"end":{"line":3,"column":48}},{"start":{"line":3,"column":51},"end":{"line":3,"column":125}}],"line":3},"2":{"loc":{"start":{"line":3,"column":51},"end":{"line":3,"column":125}},"type":"cond-expr","locations":[{"start":{"line":3,"column":67},"end":{"line":3,"column":118}},{"start":{"line":3,"column":121},"end":{"line":3,"column":125}}],"line":3},"3":{"loc":{"start":{"line":4,"column":4},"end":{"line":5,"column":150}},"type":"if","locations":[{"start":{"line":4,"column":4},"end":{"line":5,"column":150}},{"start":{"line":4,"column":4},"end":{"line":5,"column":150}}],"line":4},"4":{"loc":{"start":{"line":4,"column":8},"end":{"line":4,"column":77}},"type":"binary-expr","locations":[{"start":{"line":4,"column":8},"end":{"line":4,"column":35}},{"start":{"line":4,"column":39},"end":{"line":4,"column":77}}],"line":4},"5":{"loc":{"start":{"line":5,"column":58},"end":{"line":5,"column":150}},"type":"if","locations":[{"start":{"line":5,"column":58},"end":{"line":5,"column":150}},{"start":{"line":5,"column":58},"end":{"line":5,"column":150}}],"line":5},"6":{"loc":{"start":{"line":5,"column":85},"end":{"line":5,"column":149}},"type":"binary-expr","locations":[{"start":{"line":5,"column":86},"end":{"line":5,"column":143}},{"start":{"line":5,"column":148},"end":{"line":5,"column":149}}],"line":5},"7":{"loc":{"start":{"line":5,"column":86},"end":{"line":5,"column":143}},"type":"cond-expr","locations":[{"start":{"line":5,"column":94},"end":{"line":5,"column":98}},{"start":{"line":5,"column":101},"end":{"line":5,"column":143}}],"line":5},"8":{"loc":{"start":{"line":5,"column":101},"end":{"line":5,"column":143}},"type":"cond-expr","locations":[{"start":{"line":5,"column":109},"end":{"line":5,"column":126}},{"start":{"line":5,"column":129},"end":{"line":5,"column":143}}],"line":5},"9":{"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":62}},"type":"binary-expr","locations":[{"start":{"line":6,"column":11},"end":{"line":6,"column":16}},{"start":{"line":6,"column":20},"end":{"line":6,"column":21}},{"start":{"line":6,"column":25},"end":{"line":6,"column":62}}],"line":6},"10":{"loc":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"type":"binary-expr","locations":[{"start":{"line":8,"column":18},"end":{"line":8,"column":22}},{"start":{"line":8,"column":26},"end":{"line":8,"column":41}},{"start":{"line":8,"column":46},"end":{"line":10,"column":1}}],"line":8},"11":{"loc":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},{"start":{"line":9,"column":4},"end":{"line":9,"column":109}}],"line":9},"12":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":77}},"type":"binary-expr","locations":[{"start":{"line":9,"column":8},"end":{"line":9,"column":35}},{"start":{"line":9,"column":39},"end":{"line":9,"column":77}}],"line":9}},"s":{"0":1,"1":4,"2":4,"3":4,"4":4,"5":0,"6":0,"7":0,"8":0,"9":4,"10":1,"11":5,"12":5,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1},"f":{"0":4,"1":5,"2":1},"b":{"0":[1,1,1],"1":[1,3],"2":[1,2],"3":[4,0],"4":[4,4],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[4,3,1],"10":[1,1,1],"11":[5,0],"12":[5,5]},"inputSourceMap":{"version":3,"file":"file:///www/biorate/core/packages/@biorate/migrations/src/root.ts","sources":["file:///www/biorate/core/packages/@biorate/migrations/src/root.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,kDAAsF;AACtF,sCAAsC;AAGtC,IAAa,IAAI,GAAjB,MAAa,IAAK,SAAQ,IAAA,gBAAI,GAAE;IAIZ,KAAK,CAAC,UAAU;QAChC,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC;CACF,CAAA;AANuB;IAArB,IAAA,kBAAM,EAAC,iBAAK,CAAC,MAAM,CAAC;;oCAAwB;AACf;IAA7B,IAAA,kBAAM,EAAC,UAAU,CAAC,SAAS,CAAC;8BAAmB,UAAU,CAAC,SAAS;uCAAC;AAE7D;IAAP,IAAA,gBAAI,GAAE;;;;sCAEN;AANU,IAAI;IADhB,IAAA,sBAAU,GAAE;GACA,IAAI,CAOhB;AAPY,oBAAI;AAUjB,gBAAI,CAAC,GAAG,GAAG,IAAI,CAAC","sourcesContent":["import { IConfig } from '@biorate/config';\nimport { init, injectable, inject, Types, Core, container } from '@biorate/inversion';\nimport * as Migrations from './types';\n\n@injectable()\nexport class Root extends Core() {\n @inject(Types.Config) public config: IConfig;\n @inject(Migrations.Sequelize) public sequelize: Migrations.Sequelize;\n\n @init() protected async initialize() {\n process.exit();\n }\n}\n\n// @ts-ignore\nCore.log = null;\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c3433aa2343edcac02b2578f3d5cf5d356aec049","contentHash":"2024c6f442be8738d5bca21e3924fe1e8a852fa23f9d780391d7a0122644ebf4"},"/www/biorate/core/packages/@biorate/migrations/src/types/index.ts":{"path":"/www/biorate/core/packages/@biorate/migrations/src/types/index.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":19},"end":{"line":15,"column":1}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":126}},"13":{"start":{"line":14,"column":21},"end":{"line":14,"column":126}},"14":{"start":{"line":14,"column":95},"end":{"line":14,"column":126}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":62}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":46}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":50},"end":{"line":13,"column":51}},"loc":{"start":{"line":13,"column":71},"end":{"line":15,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{"line":5,"column":4},"end":{"line":7,"column":5}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{"line":10,"column":4},"end":{"line":10,"column":33}}],"line":10},"8":{"loc":{"start":{"line":13,"column":19},"end":{"line":15,"column":1}},"type":"binary-expr","locations":[{"start":{"line":13,"column":20},"end":{"line":13,"column":24}},{"start":{"line":13,"column":28},"end":{"line":13,"column":45}},{"start":{"line":13,"column":50},"end":{"line":15,"column":1}}],"line":13},"9":{"loc":{"start":{"line":14,"column":21},"end":{"line":14,"column":126}},"type":"if","locations":[{"start":{"line":14,"column":21},"end":{"line":14,"column":126}},{"start":{"line":14,"column":21},"end":{"line":14,"column":126}}],"line":14},"10":{"loc":{"start":{"line":14,"column":25},"end":{"line":14,"column":93}},"type":"binary-expr","locations":[{"start":{"line":14,"column":25},"end":{"line":14,"column":40}},{"start":{"line":14,"column":44},"end":{"line":14,"column":93}}],"line":14}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":3,"7":1,"8":0,"9":0,"10":0,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1},"f":{"0":1,"1":3,"2":0,"3":1},"b":{"0":[1,1,1],"1":[1,0],"2":[1,0],"3":[1,0],"4":[1,1],"5":[0,1],"6":[1,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1]},"inputSourceMap":{"version":3,"file":"file:///www/biorate/core/packages/@biorate/migrations/src/types/index.ts","sources":["file:///www/biorate/core/packages/@biorate/migrations/src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B","sourcesContent":["export * from './sequelize';\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"225d04b819ea41a17e85b82eef3dd588dff168b6","contentHash":"88507b4970150376de13aa2e0713e9fa8084cdfd37072338e7591441ba545e43"},"/www/biorate/core/packages/@biorate/migrations/src/types/sequelize.ts":{"path":"/www/biorate/core/packages/@biorate/migrations/src/types/sequelize.ts","statementMap":{"0":{"start":{"line":2,"column":17},"end":{"line":7,"column":1}},"1":{"start":{"line":3,"column":12},"end":{"line":3,"column":28}},"2":{"start":{"line":3,"column":34},"end":{"line":3,"column":125}},"3":{"start":{"line":4,"column":4},"end":{"line":5,"column":150}},"4":{"start":{"line":4,"column":79},"end":{"line":4,"column":131}},"5":{"start":{"line":5,"column":9},"end":{"line":5,"column":150}},"6":{"start":{"line":5,"column":22},"end":{"line":5,"column":43}},"7":{"start":{"line":5,"column":58},"end":{"line":5,"column":150}},"8":{"start":{"line":5,"column":81},"end":{"line":5,"column":150}},"9":{"start":{"line":6,"column":4},"end":{"line":6,"column":66}},"10":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"11":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"12":{"start":{"line":9,"column":79},"end":{"line":9,"column":109}},"13":{"start":{"line":11,"column":0},"end":{"line":11,"column":62}},"14":{"start":{"line":12,"column":0},"end":{"line":12,"column":27}},"15":{"start":{"line":13,"column":13},"end":{"line":13,"column":26}},"16":{"start":{"line":14,"column":16},"end":{"line":14,"column":41}},"17":{"start":{"line":15,"column":20},"end":{"line":15,"column":42}},"18":{"start":{"line":16,"column":20},"end":{"line":16,"column":49}},"19":{"start":{"line":17,"column":20},"end":{"line":17,"column":49}},"20":{"start":{"line":20,"column":8},"end":{"line":47,"column":9}},"21":{"start":{"line":21,"column":26},"end":{"line":21,"column":54}},"22":{"start":{"line":22,"column":12},"end":{"line":23,"column":25}},"23":{"start":{"line":23,"column":16},"end":{"line":23,"column":25}},"24":{"start":{"line":24,"column":31},"end":{"line":24,"column":69}},"25":{"start":{"line":25,"column":12},"end":{"line":28,"column":13}},"26":{"start":{"line":26,"column":16},"end":{"line":26,"column":91}},"27":{"start":{"line":27,"column":16},"end":{"line":27,"column":25}},"28":{"start":{"line":29,"column":26},"end":{"line":34,"column":37}},"29":{"start":{"line":35,"column":12},"end":{"line":35,"column":33}},"30":{"start":{"line":36,"column":12},"end":{"line":46,"column":13}},"31":{"start":{"line":37,"column":29},"end":{"line":37,"column":53}},"32":{"start":{"line":38,"column":16},"end":{"line":45,"column":19}},"33":{"start":{"line":39,"column":33},"end":{"line":39,"column":73}},"34":{"start":{"line":40,"column":20},"end":{"line":41,"column":31}},"35":{"start":{"line":41,"column":24},"end":{"line":41,"column":31}},"36":{"start":{"line":42,"column":20},"end":{"line":42,"column":84}},"37":{"start":{"line":43,"column":20},"end":{"line":43,"column":49}},"38":{"start":{"line":44,"column":20},"end":{"line":44,"column":48}},"39":{"start":{"line":50,"column":0},"end":{"line":53,"column":45}},"40":{"start":{"line":54,"column":0},"end":{"line":54,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":46},"end":{"line":2,"column":47}},"loc":{"start":{"line":2,"column":87},"end":{"line":7,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":46},"end":{"line":8,"column":47}},"loc":{"start":{"line":8,"column":62},"end":{"line":10,"column":1}},"line":8},"2":{"name":"(anonymous_2)","decl":{"start":{"line":19,"column":4},"end":{"line":19,"column":5}},"loc":{"start":{"line":19,"column":20},"end":{"line":48,"column":5}},"line":19},"3":{"name":"(anonymous_3)","decl":{"start":{"line":38,"column":45},"end":{"line":38,"column":46}},"loc":{"start":{"line":38,"column":57},"end":{"line":45,"column":17}},"line":38}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":17},"end":{"line":7,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":18},"end":{"line":2,"column":22}},{"start":{"line":2,"column":26},"end":{"line":2,"column":41}},{"start":{"line":2,"column":46},"end":{"line":7,"column":1}}],"line":2},"1":{"loc":{"start":{"line":3,"column":34},"end":{"line":3,"column":125}},"type":"cond-expr","locations":[{"start":{"line":3,"column":42},"end":{"line":3,"column":48}},{"start":{"line":3,"column":51},"end":{"line":3,"column":125}}],"line":3},"2":{"loc":{"start":{"line":3,"column":51},"end":{"line":3,"column":125}},"type":"cond-expr","locations":[{"start":{"line":3,"column":67},"end":{"line":3,"column":118}},{"start":{"line":3,"column":121},"end":{"line":3,"column":125}}],"line":3},"3":{"loc":{"start":{"line":4,"column":4},"end":{"line":5,"column":150}},"type":"if","locations":[{"start":{"line":4,"column":4},"end":{"line":5,"column":150}},{"start":{"line":4,"column":4},"end":{"line":5,"column":150}}],"line":4},"4":{"loc":{"start":{"line":4,"column":8},"end":{"line":4,"column":77}},"type":"binary-expr","locations":[{"start":{"line":4,"column":8},"end":{"line":4,"column":35}},{"start":{"line":4,"column":39},"end":{"line":4,"column":77}}],"line":4},"5":{"loc":{"start":{"line":5,"column":58},"end":{"line":5,"column":150}},"type":"if","locations":[{"start":{"line":5,"column":58},"end":{"line":5,"column":150}},{"start":{"line":5,"column":58},"end":{"line":5,"column":150}}],"line":5},"6":{"loc":{"start":{"line":5,"column":85},"end":{"line":5,"column":149}},"type":"binary-expr","locations":[{"start":{"line":5,"column":86},"end":{"line":5,"column":143}},{"start":{"line":5,"column":148},"end":{"line":5,"column":149}}],"line":5},"7":{"loc":{"start":{"line":5,"column":86},"end":{"line":5,"column":143}},"type":"cond-expr","locations":[{"start":{"line":5,"column":94},"end":{"line":5,"column":98}},{"start":{"line":5,"column":101},"end":{"line":5,"column":143}}],"line":5},"8":{"loc":{"start":{"line":5,"column":101},"end":{"line":5,"column":143}},"type":"cond-expr","locations":[{"start":{"line":5,"column":109},"end":{"line":5,"column":126}},{"start":{"line":5,"column":129},"end":{"line":5,"column":143}}],"line":5},"9":{"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":62}},"type":"binary-expr","locations":[{"start":{"line":6,"column":11},"end":{"line":6,"column":16}},{"start":{"line":6,"column":20},"end":{"line":6,"column":21}},{"start":{"line":6,"column":25},"end":{"line":6,"column":62}}],"line":6},"10":{"loc":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"type":"binary-expr","locations":[{"start":{"line":8,"column":18},"end":{"line":8,"column":22}},{"start":{"line":8,"column":26},"end":{"line":8,"column":41}},{"start":{"line":8,"column":46},"end":{"line":10,"column":1}}],"line":8},"11":{"loc":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},{"start":{"line":9,"column":4},"end":{"line":9,"column":109}}],"line":9},"12":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":77}},"type":"binary-expr","locations":[{"start":{"line":9,"column":8},"end":{"line":9,"column":35}},{"start":{"line":9,"column":39},"end":{"line":9,"column":77}}],"line":9},"13":{"loc":{"start":{"line":22,"column":12},"end":{"line":23,"column":25}},"type":"if","locations":[{"start":{"line":22,"column":12},"end":{"line":23,"column":25}},{"start":{"line":22,"column":12},"end":{"line":23,"column":25}}],"line":22},"14":{"loc":{"start":{"line":25,"column":12},"end":{"line":28,"column":13}},"type":"if","locations":[{"start":{"line":25,"column":12},"end":{"line":28,"column":13}},{"start":{"line":25,"column":12},"end":{"line":28,"column":13}}],"line":25},"15":{"loc":{"start":{"line":40,"column":20},"end":{"line":41,"column":31}},"type":"if","locations":[{"start":{"line":40,"column":20},"end":{"line":41,"column":31}},{"start":{"line":40,"column":20},"end":{"line":41,"column":31}}],"line":40}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":0,"6":0,"7":0,"8":0,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":0,"24":1,"25":1,"26":0,"27":0,"28":1,"29":1,"30":1,"31":2,"32":2,"33":2,"34":2,"35":0,"36":2,"37":2,"38":2,"39":1,"40":1},"f":{"0":1,"1":1,"2":1,"3":2},"b":{"0":[1,1,1],"1":[0,1],"2":[0,1],"3":[1,0],"4":[1,1],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[1,1,0],"10":[1,1,1],"11":[1,0],"12":[1,1],"13":[0,1],"14":[0,1],"15":[0,2]},"inputSourceMap":{"version":3,"file":"file:///www/biorate/core/packages/@biorate/migrations/src/types/sequelize.ts","sources":["file:///www/biorate/core/packages/@biorate/migrations/src/types/sequelize.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2BAAoC;AACpC,0CAAsC;AACtC,2CAAwC;AACxC,kDAAqF;AACrF,kDAAmD;AAInD,MAAa,SAAU,SAAQ,qBAAS;IAK5B,KAAK,CAAC,OAAO;QACrB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAqB,WAAW,EAAE,EAAE,CAAC,EAAE;YACzE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,MAAM;gBAAE,SAAS;YAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,UAAU,EAAE;gBACf,OAAO,CAAC,IAAI,CAAC,+CAA+C,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC3E,SAAS;aACV;YACD,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAS,sBAAsB,EAAE,YAAY,CAAC,EAC7D;gBACE,IAAI,EAAE;oBACJ,IAAI,EAAE,oBAAQ,CAAC,IAAI;oBACnB,UAAU,EAAE,IAAI;iBACjB;aACF,EACD,EAAE,UAAU,EAAE,KAAK,EAAE,CACtB,CAAC;YACF,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;gBACrB,MAAM,IAAI,GAAG,YAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC9B,MAAM,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;oBACtC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;oBACtD,IAAI,IAAI;wBAAE,OAAO;oBACjB,MAAM,UAAU,CAAC,KAAK,CAAC,MAAM,aAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;oBACrD,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC7B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC9B,CAAC,CAAC,CAAC;aACJ;SACF;IACH,CAAC;CACF;AApC0B;IAAxB,IAAA,kBAAM,EAAC,iBAAK,CAAC,SAAS,CAAC;;4CAA0C;AADpE,8BAqCC","sourcesContent":["import { promises as fs } from 'fs';\nimport { path } from '@biorate/tools';\nimport { Migration } from './migration';\nimport { ISequelizeConnector, ISequelizeConfig, DataType } from '@biorate/sequelize';\nimport { inject, Types } from '@biorate/inversion';\n/**\n * @description Sequelize migration class\n */\nexport class Sequelize extends Migration {\n @inject(Types.Sequelize) protected sequelize: ISequelizeConnector;\n /**\n * @description Sequelize process method realization\n */\n protected async process() {\n for (const config of this.config.get<ISequelizeConfig[]>('Sequelize', [])) {\n const paths = await this.scan(config.name);\n if (!paths.length) continue;\n const connection = this.sequelize.connection(config.name);\n if (!connection) {\n console.info(`Sequelize connection [%s] not exists, skip...`, config.name);\n continue;\n }\n const model = connection.define(\n this.config.get<string>('migrations.tableName', 'migrations'),\n {\n name: {\n type: DataType.CHAR,\n primaryKey: true,\n },\n },\n { timestamps: false },\n );\n await model.sync({});\n for (const p of paths) {\n const name = path.basename(p);\n await connection.transaction(async () => {\n const item = await model.findOne({ where: { name } });\n if (item) return;\n await connection.query(await fs.readFile(p, 'utf8'));\n await model.create({ name });\n this.log(config.name, name);\n });\n }\n }\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"625fe5c079cbf2048445ebcf9182078c55de9c7f","contentHash":"867ea5c0146f8e84fd19f87515750c0ef5065faf7d7febf4fcfc4c9ee9989016"},"/www/biorate/core/packages/@biorate/migrations/src/types/migration.ts":{"path":"/www/biorate/core/packages/@biorate/migrations/src/types/migration.ts","statementMap":{"0":{"start":{"line":2,"column":17},"end":{"line":7,"column":1}},"1":{"start":{"line":3,"column":12},"end":{"line":3,"column":28}},"2":{"start":{"line":3,"column":34},"end":{"line":3,"column":125}},"3":{"start":{"line":4,"column":4},"end":{"line":5,"column":150}},"4":{"start":{"line":4,"column":79},"end":{"line":4,"column":131}},"5":{"start":{"line":5,"column":9},"end":{"line":5,"column":150}},"6":{"start":{"line":5,"column":22},"end":{"line":5,"column":43}},"7":{"start":{"line":5,"column":58},"end":{"line":5,"column":150}},"8":{"start":{"line":5,"column":81},"end":{"line":5,"column":150}},"9":{"start":{"line":6,"column":4},"end":{"line":6,"column":66}},"10":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"11":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"12":{"start":{"line":9,"column":79},"end":{"line":9,"column":109}},"13":{"start":{"line":11,"column":0},"end":{"line":11,"column":62}},"14":{"start":{"line":12,"column":0},"end":{"line":12,"column":27}},"15":{"start":{"line":13,"column":13},"end":{"line":13,"column":26}},"16":{"start":{"line":14,"column":16},"end":{"line":14,"column":41}},"17":{"start":{"line":15,"column":20},"end":{"line":15,"column":49}},"18":{"start":{"line":16,"column":16},"end":{"line":33,"column":1}},"19":{"start":{"line":18,"column":8},"end":{"line":18,"column":51}},"20":{"start":{"line":21,"column":8},"end":{"line":21,"column":105}},"21":{"start":{"line":21,"column":79},"end":{"line":21,"column":103}},"22":{"start":{"line":24,"column":8},"end":{"line":24,"column":125}},"23":{"start":{"line":27,"column":8},"end":{"line":27,"column":48}},"24":{"start":{"line":30,"column":8},"end":{"line":30,"column":43}},"25":{"start":{"line":31,"column":8},"end":{"line":31,"column":29}},"26":{"start":{"line":34,"column":0},"end":{"line":37,"column":42}},"27":{"start":{"line":38,"column":0},"end":{"line":43,"column":44}},"28":{"start":{"line":44,"column":0},"end":{"line":46,"column":14}},"29":{"start":{"line":47,"column":0},"end":{"line":47,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":46},"end":{"line":2,"column":47}},"loc":{"start":{"line":2,"column":87},"end":{"line":7,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":46},"end":{"line":8,"column":47}},"loc":{"start":{"line":8,"column":62},"end":{"line":10,"column":1}},"line":8},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":4},"end":{"line":17,"column":5}},"loc":{"start":{"line":17,"column":15},"end":{"line":19,"column":5}},"line":17},"3":{"name":"(anonymous_3)","decl":{"start":{"line":20,"column":4},"end":{"line":20,"column":5}},"loc":{"start":{"line":20,"column":24},"end":{"line":22,"column":5}},"line":20},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":69},"end":{"line":21,"column":70}},"loc":{"start":{"line":21,"column":79},"end":{"line":21,"column":103}},"line":21},"5":{"name":"(anonymous_5)","decl":{"start":{"line":23,"column":4},"end":{"line":23,"column":5}},"loc":{"start":{"line":23,"column":18},"end":{"line":25,"column":5}},"line":23},"6":{"name":"(anonymous_6)","decl":{"start":{"line":26,"column":4},"end":{"line":26,"column":5}},"loc":{"start":{"line":26,"column":17},"end":{"line":28,"column":5}},"line":26},"7":{"name":"(anonymous_7)","decl":{"start":{"line":29,"column":4},"end":{"line":29,"column":5}},"loc":{"start":{"line":29,"column":23},"end":{"line":32,"column":5}},"line":29}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":17},"end":{"line":7,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":18},"end":{"line":2,"column":22}},{"start":{"line":2,"column":26},"end":{"line":2,"column":41}},{"start":{"line":2,"column":46},"end":{"line":7,"column":1}}],"line":2},"1":{"loc":{"start":{"line":3,"column":34},"end":{"line":3,"column":125}},"type":"cond-expr","locations":[{"start":{"line":3,"column":42},"end":{"line":3,"column":48}},{"start":{"line":3,"column":51},"end":{"line":3,"column":125}}],"line":3},"2":{"loc":{"start":{"line":3,"column":51},"end":{"line":3,"column":125}},"type":"cond-expr","locations":[{"start":{"line":3,"column":67},"end":{"line":3,"column":118}},{"start":{"line":3,"column":121},"end":{"line":3,"column":125}}],"line":3},"3":{"loc":{"start":{"line":4,"column":4},"end":{"line":5,"column":150}},"type":"if","locations":[{"start":{"line":4,"column":4},"end":{"line":5,"column":150}},{"start":{"line":4,"column":4},"end":{"line":5,"column":150}}],"line":4},"4":{"loc":{"start":{"line":4,"column":8},"end":{"line":4,"column":77}},"type":"binary-expr","locations":[{"start":{"line":4,"column":8},"end":{"line":4,"column":35}},{"start":{"line":4,"column":39},"end":{"line":4,"column":77}}],"line":4},"5":{"loc":{"start":{"line":5,"column":58},"end":{"line":5,"column":150}},"type":"if","locations":[{"start":{"line":5,"column":58},"end":{"line":5,"column":150}},{"start":{"line":5,"column":58},"end":{"line":5,"column":150}}],"line":5},"6":{"loc":{"start":{"line":5,"column":85},"end":{"line":5,"column":149}},"type":"binary-expr","locations":[{"start":{"line":5,"column":86},"end":{"line":5,"column":143}},{"start":{"line":5,"column":148},"end":{"line":5,"column":149}}],"line":5},"7":{"loc":{"start":{"line":5,"column":86},"end":{"line":5,"column":143}},"type":"cond-expr","locations":[{"start":{"line":5,"column":94},"end":{"line":5,"column":98}},{"start":{"line":5,"column":101},"end":{"line":5,"column":143}}],"line":5},"8":{"loc":{"start":{"line":5,"column":101},"end":{"line":5,"column":143}},"type":"cond-expr","locations":[{"start":{"line":5,"column":109},"end":{"line":5,"column":126}},{"start":{"line":5,"column":129},"end":{"line":5,"column":143}}],"line":5},"9":{"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":62}},"type":"binary-expr","locations":[{"start":{"line":6,"column":11},"end":{"line":6,"column":16}},{"start":{"line":6,"column":20},"end":{"line":6,"column":21}},{"start":{"line":6,"column":25},"end":{"line":6,"column":62}}],"line":6},"10":{"loc":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"type":"binary-expr","locations":[{"start":{"line":8,"column":18},"end":{"line":8,"column":22}},{"start":{"line":8,"column":26},"end":{"line":8,"column":41}},{"start":{"line":8,"column":46},"end":{"line":10,"column":1}}],"line":8},"11":{"loc":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},{"start":{"line":9,"column":4},"end":{"line":9,"column":109}}],"line":9},"12":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":77}},"type":"binary-expr","locations":[{"start":{"line":9,"column":8},"end":{"line":9,"column":35}},{"start":{"line":9,"column":39},"end":{"line":9,"column":77}}],"line":9}},"s":{"0":1,"1":3,"2":3,"3":3,"4":3,"5":0,"6":0,"7":0,"8":0,"9":3,"10":1,"11":4,"12":4,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":5,"20":1,"21":2,"22":3,"23":2,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1},"f":{"0":3,"1":4,"2":5,"3":1,"4":2,"5":3,"6":2,"7":1},"b":{"0":[1,1,1],"1":[1,2],"2":[1,1],"3":[3,0],"4":[3,3],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[3,2,1],"10":[1,1,1],"11":[4,0],"12":[4,4]},"inputSourceMap":{"version":3,"file":"file:///www/biorate/core/packages/@biorate/migrations/src/types/migration.ts","sources":["file:///www/biorate/core/packages/@biorate/migrations/src/types/migration.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2BAAoC;AACpC,0CAAsC;AACtC,kDAAqE;AAMrE,IAAsB,SAAS,GAA/B,MAAsB,SAAS;IAK7B,IAAc,IAAI;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IAIS,KAAK,CAAC,IAAI,CAAC,GAAG,IAAc;QACpC,OAAO,CAAC,MAAM,aAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACxF,CAAC;IAIS,IAAI,CAAC,GAAG,IAAc;QAC9B,OAAO,YAAI,CAAC,MAAM,CAChB,OAAO,CAAC,GAAG,EAAE,EACb,IAAI,CAAC,MAAM,CAAC,GAAG,CAAS,sBAAsB,EAAE,YAAY,CAAC,EAC7D,IAAI,CAAC,IAAI,EACT,GAAG,IAAI,CACR,CAAC;IACJ,CAAC;IAIS,GAAG,CAAC,GAAG,IAAc;QAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAIiB,KAAK,CAAC,UAAU;QAChC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;CAKF,CAAA;AAzCuB;IAArB,IAAA,kBAAM,EAAC,iBAAK,CAAC,MAAM,CAAC;;yCAA2B;AAiCxC;IAAP,IAAA,gBAAI,GAAE;;;;2CAGN;AArCmB,SAAS;IAD9B,IAAA,sBAAU,GAAE;GACS,SAAS,CA0C9B;AA1CqB,8BAAS","sourcesContent":["import { promises as fs } from 'fs';\nimport { path } from '@biorate/tools';\nimport { init, injectable, inject, Types } from '@biorate/inversion';\nimport { IConfig } from '@biorate/config';\n/**\n * @description Abstract migration class\n */\n@injectable()\nexport abstract class Migration {\n @inject(Types.Config) protected config: IConfig;\n /**\n * @description Get migration type\n */\n protected get type() {\n return this.constructor.name.toLowerCase();\n }\n /**\n * @description Scan migration directory\n */\n protected async scan(...args: string[]) {\n return (await fs.readdir(this.path(...args))).map((item) => this.path(...args, item));\n }\n /**\n * @description Create path to migrations directory\n */\n protected path(...args: string[]) {\n return path.create(\n process.cwd(),\n this.config.get<string>('migrations.directory', 'migrations'),\n this.type,\n ...args,\n );\n }\n /**\n * @description Logging method\n */\n protected log(...args: string[]) {\n console.info(this.type, ...args, 'up!');\n }\n /**\n * @description Initialize method\n */\n @init() protected async initialize() {\n console.log(this.constructor.name);\n await this.process();\n }\n /**\n * @description Abstract async process method\n */\n protected abstract process(): Promise<void>;\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"658893a2ee43f35d89077caf5eab7e727bc8604d","contentHash":"b8a0b25dbe98ec02cd98e534ee34cbc3bc74daa535f8530313dd68baecc70f39"}}
@@ -1 +0,0 @@
1
- {"parent":null,"pid":41793,"argv":["/home/llevkin/.nvm/versions/node/v16.13.0/bin/node","/www/biorate/core/node_modules/.bin/npx","mocha","--exit","-r","ts-node/register","tests/**/*.spec.ts"],"execArgv":[],"cwd":"/www/biorate/core/packages/@biorate/migrations","time":1656049260806,"ppid":41782,"coverageFilename":"/www/biorate/core/packages/@biorate/migrations/.nyc_output/6c4e5be1-f3fe-46fc-b73e-40a57317040b.json","externalId":"","uuid":"6c4e5be1-f3fe-46fc-b73e-40a57317040b","files":["/www/biorate/core/packages/@biorate/migrations/src/default.config.ts","/www/biorate/core/packages/@biorate/migrations/src/index.ts","/www/biorate/core/packages/@biorate/migrations/src/root.ts","/www/biorate/core/packages/@biorate/migrations/src/types/index.ts","/www/biorate/core/packages/@biorate/migrations/src/types/sequelize.ts","/www/biorate/core/packages/@biorate/migrations/src/types/migration.ts"]}