@cheetah.js/cli 0.1.23 → 0.1.25

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 DELETED
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- require("reflect-metadata");
18
- __exportStar(require("./migrator/migrator"), exports);
19
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4BAA0B;AAE1B,sDAAoC"}
@@ -1,20 +0,0 @@
1
- import { DriverInterface, EntityStorage } from '@cheetah.js/orm';
2
- import { ColDiff, ColumnsInfo, SnapshotTable, TableDiff } from './migrator';
3
- export declare class DiffCalculator {
4
- private driver;
5
- private entities;
6
- constructor(entities: EntityStorage, driver: DriverInterface);
7
- diff(snapshotBd: SnapshotTable[], snapshotEntities: SnapshotTable[]): TableDiff[];
8
- private checkIndexes;
9
- private createNewColumn;
10
- private diffColumnType;
11
- private diffColumnDefault;
12
- private diffColumnPrimary;
13
- private diffColumnUnique;
14
- private diffForeignKey;
15
- private diffColumnSql;
16
- diffColumnPrecisionAndScale(bdCol: ColumnsInfo, entityCol: ColumnsInfo, colDiffs: ColDiff[]): void;
17
- private diffColumnNullable;
18
- private convertEntityTypeToSqlType;
19
- private diffEnum;
20
- }
@@ -1,339 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DiffCalculator = void 0;
4
- const orm_1 = require("@cheetah.js/orm");
5
- class DiffCalculator {
6
- constructor(entities, driver) {
7
- this.driver = driver;
8
- this.entities = entities;
9
- }
10
- diff(snapshotBd, snapshotEntities) {
11
- const diffs = [];
12
- const bdTablesMap = new Map(snapshotBd.map((table) => [table.tableName, table]));
13
- const entityTablesMap = new Map(snapshotEntities.map((table) => [table.tableName, table]));
14
- const allTableNames = new Set([
15
- ...bdTablesMap.keys(),
16
- ...entityTablesMap.keys(),
17
- ]);
18
- allTableNames.forEach((tableName) => {
19
- const bdTable = bdTablesMap.get(tableName);
20
- const entityTable = entityTablesMap.get(tableName);
21
- if (!entityTable) {
22
- diffs.push({
23
- tableName,
24
- colDiffs: [{ actionType: 'DELETE', colName: '*' }],
25
- });
26
- }
27
- else if (!bdTable) {
28
- const colDiffs = entityTable.columns.flatMap((c) => {
29
- return this.createNewColumn(c, []);
30
- });
31
- diffs.push({
32
- tableName,
33
- newTable: true,
34
- schema: entityTable.schema ?? 'public',
35
- colDiffs,
36
- });
37
- this.checkIndexes(bdTable, entityTable, colDiffs);
38
- }
39
- else {
40
- const colDiffs = [];
41
- const bdColumnsMap = new Map(bdTable.columns.map((col) => [col.name, col]));
42
- const entityColumnsMap = new Map(entityTable.columns.map((col) => [col.name, col]));
43
- const allColumnNames = new Set([
44
- ...bdColumnsMap.keys(),
45
- ...entityColumnsMap.keys(),
46
- ]);
47
- allColumnNames.forEach((colName) => {
48
- const bdCol = bdColumnsMap.get(colName);
49
- const entityCol = entityColumnsMap.get(colName);
50
- if (!entityCol) {
51
- colDiffs.push({
52
- actionType: 'DELETE',
53
- colName: bdCol.name,
54
- });
55
- }
56
- else if (!bdCol) {
57
- this.createNewColumn(entityCol, colDiffs);
58
- }
59
- else
60
- this.diffColumnSql(bdCol, entityCol, colDiffs);
61
- });
62
- this.checkIndexes(bdTable, entityTable, colDiffs);
63
- if (colDiffs.length > 0) {
64
- diffs.push({
65
- tableName: tableName,
66
- schema: entityTable.schema ?? 'public',
67
- colDiffs,
68
- });
69
- }
70
- }
71
- });
72
- return diffs;
73
- }
74
- checkIndexes(bdTable, entityTable, colDiffs) {
75
- if ((bdTable && bdTable.indexes) || (entityTable && entityTable.indexes)) {
76
- if (!bdTable || !bdTable.indexes) {
77
- colDiffs.push({
78
- actionType: 'INDEX',
79
- colName: '*',
80
- indexTables: entityTable.indexes.map((index) => ({
81
- name: index.indexName,
82
- properties: index.columnName.split(','),
83
- })),
84
- });
85
- }
86
- if (!entityTable || !entityTable.indexes) {
87
- colDiffs.push({
88
- actionType: 'INDEX',
89
- colName: '*',
90
- indexTables: bdTable.indexes.map((index) => ({ name: index.indexName })),
91
- });
92
- }
93
- }
94
- if (bdTable && bdTable.indexes && entityTable && entityTable.indexes) {
95
- const bdIndexesMap = new Map(bdTable.indexes.map((index) => [index.indexName, index]));
96
- const entityIndexesMap = new Map(entityTable.indexes.map((index) => [index.indexName, index]));
97
- const allIndexes = new Set([
98
- ...bdIndexesMap.keys(),
99
- ...entityIndexesMap.keys(),
100
- ]);
101
- allIndexes.forEach((indexName) => {
102
- const bdIndex = bdIndexesMap.get(indexName);
103
- const entityIndex = entityIndexesMap.get(indexName);
104
- if (!entityIndex) {
105
- colDiffs.push({
106
- actionType: 'INDEX',
107
- colName: bdIndex.columnName,
108
- indexTables: [{ name: indexName }],
109
- });
110
- }
111
- else if (!bdIndex) {
112
- colDiffs.push({
113
- actionType: 'INDEX',
114
- colName: entityIndex.columnName,
115
- indexTables: [
116
- { name: indexName, properties: entityIndex.columnName.split(',') },
117
- ],
118
- });
119
- }
120
- });
121
- }
122
- }
123
- createNewColumn(entityCol, colDiffs) {
124
- const colType = this.convertEntityTypeToSqlType(entityCol.type);
125
- colDiffs.push({
126
- actionType: 'CREATE',
127
- colName: entityCol.name,
128
- colType: colType.type,
129
- colLength: entityCol.length ?? colType.len,
130
- colChanges: {
131
- autoIncrement: entityCol.autoIncrement,
132
- default: entityCol.default,
133
- primary: entityCol.primary,
134
- unique: entityCol.unique,
135
- nullable: entityCol.nullable,
136
- enumItems: entityCol.enumItems,
137
- foreignKeys: entityCol.foreignKeys ?? undefined,
138
- precision: entityCol.precision ?? undefined,
139
- scale: entityCol.scale ?? undefined,
140
- },
141
- });
142
- return colDiffs;
143
- }
144
- diffColumnType(bdCol, entityCol, colDiffs) {
145
- const isPostgres = this.driver instanceof orm_1.PgDriver;
146
- if (bdCol.type === 'USER-DEFINED') {
147
- bdCol.type = 'enum';
148
- }
149
- const colT = this.convertEntityTypeToSqlType(entityCol.type);
150
- const colType = colT.type;
151
- let length = entityCol.length ?? colT.len;
152
- if (colType === 'integer' && isPostgres) {
153
- length = 32;
154
- }
155
- if (bdCol.isDecimal && isPostgres) {
156
- bdCol.type = 'decimal';
157
- length = bdCol.precision ?? 0;
158
- }
159
- if (!bdCol.type.includes(colType) || bdCol.length !== length) {
160
- colDiffs.push({
161
- actionType: 'ALTER',
162
- colName: entityCol.name,
163
- colType: colType,
164
- colLength: length,
165
- colChanges: {
166
- enumItems: entityCol.enumItems || undefined,
167
- precision: entityCol.precision ?? undefined,
168
- scale: entityCol.scale ?? undefined,
169
- },
170
- });
171
- }
172
- }
173
- diffColumnDefault(bdCol, entityCol, colDiffs) {
174
- if (bdCol.default !== (entityCol.default ?? null)) {
175
- colDiffs.push({
176
- actionType: 'ALTER',
177
- colName: entityCol.name,
178
- colChanges: { default: entityCol.default },
179
- colLength: entityCol.length,
180
- });
181
- }
182
- }
183
- diffColumnPrimary(bdCol, entityCol, colDiffs) {
184
- if (bdCol.primary !== (entityCol.primary ?? false)) {
185
- colDiffs.push({
186
- actionType: 'ALTER',
187
- colName: entityCol.name,
188
- colChanges: { primary: entityCol.primary },
189
- colLength: entityCol.length,
190
- });
191
- }
192
- }
193
- diffColumnUnique(bdCol, entityCol, colDiffs) {
194
- if (bdCol.unique !== (entityCol.unique ?? false)) {
195
- if (bdCol.unique === false && entityCol.unique === undefined) {
196
- return;
197
- }
198
- if (entityCol.primary) {
199
- return;
200
- }
201
- colDiffs.push({
202
- actionType: 'ALTER',
203
- colName: entityCol.name,
204
- colChanges: { unique: entityCol.unique || false },
205
- colLength: entityCol.length,
206
- });
207
- }
208
- }
209
- diffForeignKey(bdCol, entityCol, colDiffs) {
210
- if (bdCol.foreignKeys || entityCol.foreignKeys) {
211
- const bdFKMap = new Map((bdCol.foreignKeys || []).map((fk) => [
212
- `${fk.referencedTableName}.${fk.referencedColumnName}`,
213
- fk,
214
- ]));
215
- const entityFKMap = new Map((entityCol.foreignKeys || []).map((fk) => [
216
- `${fk.referencedTableName}.${fk.referencedColumnName}`,
217
- fk,
218
- ]));
219
- const allFKs = new Set([...bdFKMap.keys(), ...entityFKMap.keys()]);
220
- allFKs.forEach((fkName) => {
221
- const bdFK = bdFKMap.get(fkName);
222
- const entityFK = entityFKMap.get(fkName);
223
- if (!entityFK) {
224
- const fks = bdCol.foreignKeys?.filter((fk) => fk !== bdFK);
225
- colDiffs.push({
226
- actionType: 'ALTER',
227
- colName: bdCol.name,
228
- colChanges: {
229
- foreignKeys: fks.length > 0 ? fks : [],
230
- },
231
- });
232
- }
233
- });
234
- }
235
- }
236
- diffColumnSql(bdCol, entityCol, colDiffs) {
237
- this.diffForeignKey(bdCol, entityCol, colDiffs);
238
- this.diffEnum(bdCol, entityCol, colDiffs);
239
- this.diffColumnType(bdCol, entityCol, colDiffs);
240
- this.diffColumnDefault(bdCol, entityCol, colDiffs);
241
- this.diffColumnPrimary(bdCol, entityCol, colDiffs);
242
- this.diffColumnUnique(bdCol, entityCol, colDiffs);
243
- this.diffColumnNullable(bdCol, entityCol, colDiffs);
244
- this.diffColumnPrecisionAndScale(bdCol, entityCol, colDiffs);
245
- return colDiffs;
246
- }
247
- diffColumnPrecisionAndScale(bdCol, entityCol, colDiffs) {
248
- const bdPrecision = bdCol.precision ?? 0;
249
- const entityPrecision = entityCol.precision ?? bdPrecision;
250
- const bdScale = bdCol.scale ?? 0;
251
- const entityScale = entityCol.scale ?? bdCol.scale;
252
- if (bdCol.isDecimal &&
253
- (bdPrecision !== entityPrecision ||
254
- (bdCol.isDecimal && bdScale !== entityScale))) {
255
- colDiffs.push({
256
- actionType: 'ALTER',
257
- colType: 'decimal',
258
- colName: entityCol.name,
259
- colChanges: {
260
- precision: entityCol.precision ?? 0,
261
- scale: entityCol.scale ?? 0,
262
- },
263
- colLength: entityCol.length,
264
- });
265
- }
266
- }
267
- diffColumnNullable(bdCol, entityCol, colDiffs) {
268
- if (bdCol.nullable !== (entityCol.nullable ?? false)) {
269
- colDiffs.push({
270
- actionType: 'ALTER',
271
- colName: entityCol.name,
272
- colChanges: { nullable: entityCol.nullable ?? false },
273
- colLength: entityCol.length,
274
- });
275
- }
276
- }
277
- convertEntityTypeToSqlType(entityType) {
278
- switch (entityType) {
279
- case 'Number':
280
- case 'int':
281
- return { type: 'integer', len: 32 };
282
- case 'bigint':
283
- return { type: 'bigint' };
284
- case 'float':
285
- case 'double':
286
- case 'decimal':
287
- return { type: 'decimal' };
288
- case 'String':
289
- case 'varchar':
290
- return { type: 'character varying', len: 255 };
291
- case 'Boolean':
292
- return { type: 'boolean', len: null };
293
- case 'Date':
294
- return { type: 'timestamp' };
295
- case 'Object':
296
- return { type: 'json', len: null };
297
- case 'uuid':
298
- return { type: 'uuid', len: null };
299
- case 'text':
300
- return { type: 'text' };
301
- case 'enum':
302
- return { type: 'enum', len: null };
303
- default:
304
- return { type: 'character varying', len: 255 };
305
- }
306
- }
307
- diffEnum(bdCol, entityCol, colDiffs) {
308
- if (bdCol.enumItems || entityCol.enumItems) {
309
- if (bdCol.enumItems && entityCol.enumItems) {
310
- const allEnums = new Set([...bdCol.enumItems, ...entityCol.enumItems]);
311
- const differences = [...allEnums].filter((x) => !bdCol.enumItems?.includes(x) || !entityCol.enumItems?.includes(x));
312
- if (differences.length === 0) {
313
- return;
314
- }
315
- colDiffs.push({
316
- actionType: 'ALTER',
317
- colName: entityCol.name,
318
- colType: 'enum',
319
- colChanges: {
320
- enumItems: entityCol.enumItems,
321
- },
322
- });
323
- }
324
- if (!entityCol.enumItems) {
325
- }
326
- else if (!bdCol.enumItems) {
327
- colDiffs.push({
328
- actionType: 'CREATE',
329
- colName: entityCol.name,
330
- colChanges: {
331
- enumItems: entityCol.enumItems,
332
- },
333
- });
334
- }
335
- }
336
- }
337
- }
338
- exports.DiffCalculator = DiffCalculator;
339
- //# sourceMappingURL=diff-calculator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"diff-calculator.js","sourceRoot":"","sources":["../../src/migrator/diff-calculator.ts"],"names":[],"mappings":"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"}
@@ -1,84 +0,0 @@
1
- import { ConnectionSettings, Orm } from '@cheetah.js/orm';
2
- import { EntityStorage } from '@cheetah.js/orm';
3
- import * as knex from 'knex';
4
- export type SnapshotTable = {
5
- tableName: string;
6
- schema?: string;
7
- columns: ColumnsInfo[];
8
- indexes: SnapshotIndexInfo[];
9
- foreignKeys?: ForeignKeyInfo[];
10
- };
11
- export type SnapshotIndexInfo = {
12
- table: string;
13
- indexName: string;
14
- columnName: string;
15
- };
16
- export type ForeignKeyInfo = {
17
- referencedTableName: string;
18
- referencedColumnName: string;
19
- };
20
- export type ColumnsInfo = {
21
- name: string;
22
- type: string;
23
- nullable?: boolean;
24
- default?: string | null;
25
- primary?: boolean;
26
- unique?: boolean;
27
- autoIncrement?: boolean;
28
- length?: number;
29
- isEnum?: boolean;
30
- precision?: number;
31
- scale?: number;
32
- isDecimal?: boolean;
33
- enumItems?: string[] | number[];
34
- foreignKeys?: ForeignKeyInfo[];
35
- };
36
- export type SqlActionType = 'CREATE' | 'DELETE' | 'ALTER' | 'INDEX';
37
- export type ColDiff = {
38
- actionType: SqlActionType;
39
- colName: string;
40
- colType?: string;
41
- colLength?: number;
42
- indexTables?: {
43
- name: string;
44
- properties?: string[];
45
- }[];
46
- colChanges?: {
47
- default?: string | null;
48
- primary?: boolean;
49
- unique?: boolean;
50
- nullable?: boolean;
51
- autoIncrement?: boolean;
52
- enumItems?: string[] | number[];
53
- enumModified?: boolean;
54
- precision?: number;
55
- scale?: number;
56
- foreignKeys?: ForeignKeyInfo[];
57
- };
58
- };
59
- export type TableDiff = {
60
- tableName: string;
61
- schema?: string;
62
- newTable?: boolean;
63
- colDiffs: ColDiff[];
64
- };
65
- export declare class Migrator {
66
- config: ConnectionSettings<any>;
67
- orm: Orm<any>;
68
- entities: EntityStorage;
69
- knex: knex.Knex;
70
- constructor();
71
- startConnection(basePath?: string): Promise<void>;
72
- useTsNode(): void;
73
- private initConfigFile;
74
- private initOrm;
75
- private initKnex;
76
- private run;
77
- private createTable;
78
- assignType(builder: knex.Knex.AlterTableBuilder, diff: ColDiff, tableDiff: TableDiff): knex.Knex.ColumnBuilder;
79
- migrate(): Promise<void>;
80
- generateMigration(configFile?: string, onlySql?: boolean): Promise<any[]>;
81
- private lastTreatment;
82
- private snapshotBd;
83
- private snapshotEntities;
84
- }