dbdock 1.1.16 → 1.1.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +236 -11
- package/dist/cli/commands/analyze.d.ts +1 -0
- package/dist/cli/commands/analyze.js +135 -0
- package/dist/cli/commands/analyze.js.map +1 -0
- package/dist/cli/commands/cross-migrate.d.ts +11 -0
- package/dist/cli/commands/cross-migrate.js +307 -0
- package/dist/cli/commands/cross-migrate.js.map +1 -0
- package/dist/cli/index.js +20 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/utils/config.js +125 -5
- package/dist/cli/utils/config.js.map +1 -1
- package/dist/config/config.service.js +21 -3
- package/dist/config/config.service.js.map +1 -1
- package/dist/config/env-url.helper.d.ts +11 -0
- package/dist/config/env-url.helper.js +56 -0
- package/dist/config/env-url.helper.js.map +1 -0
- package/dist/config/secrets.validator.js +5 -1
- package/dist/config/secrets.validator.js.map +1 -1
- package/dist/migration/analyzers/mongodb.analyzer.d.ts +3 -0
- package/dist/migration/analyzers/mongodb.analyzer.js +208 -0
- package/dist/migration/analyzers/mongodb.analyzer.js.map +1 -0
- package/dist/migration/analyzers/postgres.analyzer.d.ts +3 -0
- package/dist/migration/analyzers/postgres.analyzer.js +176 -0
- package/dist/migration/analyzers/postgres.analyzer.js.map +1 -0
- package/dist/migration/config.manager.d.ts +3 -0
- package/dist/migration/config.manager.js +80 -0
- package/dist/migration/config.manager.js.map +1 -0
- package/dist/migration/engines/migration.engine.d.ts +6 -0
- package/dist/migration/engines/migration.engine.js +62 -0
- package/dist/migration/engines/migration.engine.js.map +1 -0
- package/dist/migration/engines/mongo-to-postgres.engine.d.ts +2 -0
- package/dist/migration/engines/mongo-to-postgres.engine.js +409 -0
- package/dist/migration/engines/mongo-to-postgres.engine.js.map +1 -0
- package/dist/migration/engines/postgres-to-mongo.engine.d.ts +2 -0
- package/dist/migration/engines/postgres-to-mongo.engine.js +192 -0
- package/dist/migration/engines/postgres-to-mongo.engine.js.map +1 -0
- package/dist/migration/mappers/mongo-to-postgres.mapper.d.ts +2 -0
- package/dist/migration/mappers/mongo-to-postgres.mapper.js +263 -0
- package/dist/migration/mappers/mongo-to-postgres.mapper.js.map +1 -0
- package/dist/migration/mappers/postgres-to-mongo.mapper.d.ts +2 -0
- package/dist/migration/mappers/postgres-to-mongo.mapper.js +174 -0
- package/dist/migration/mappers/postgres-to-mongo.mapper.js.map +1 -0
- package/dist/migration/reference.detector.d.ts +2 -0
- package/dist/migration/reference.detector.js +57 -0
- package/dist/migration/reference.detector.js.map +1 -0
- package/dist/migration/type.mapper.d.ts +12 -0
- package/dist/migration/type.mapper.js +197 -0
- package/dist/migration/type.mapper.js.map +1 -0
- package/dist/migration/types.d.ts +183 -0
- package/dist/migration/types.js +11 -0
- package/dist/migration/types.js.map +1 -0
- package/package.json +11 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../src/config/config.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../src/config/config.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface PostgresConfigFromUrl {
|
|
2
|
+
host: string;
|
|
3
|
+
port: number;
|
|
4
|
+
user: string;
|
|
5
|
+
password: string;
|
|
6
|
+
database: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function parsePostgresUrlToConfig(urlString: string): PostgresConfigFromUrl;
|
|
9
|
+
export declare function getDbUrlFromEnv(): string | undefined;
|
|
10
|
+
export declare function applyDbUrlToPostgresConfig(config: Record<string, unknown>): Record<string, unknown>;
|
|
11
|
+
export declare function applyDbUrlToCliDatabase(config: Record<string, unknown>): Record<string, unknown>;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parsePostgresUrlToConfig = parsePostgresUrlToConfig;
|
|
4
|
+
exports.getDbUrlFromEnv = getDbUrlFromEnv;
|
|
5
|
+
exports.applyDbUrlToPostgresConfig = applyDbUrlToPostgresConfig;
|
|
6
|
+
exports.applyDbUrlToCliDatabase = applyDbUrlToCliDatabase;
|
|
7
|
+
function parsePostgresUrlToConfig(urlString) {
|
|
8
|
+
const url = new URL(urlString);
|
|
9
|
+
if (url.protocol !== 'postgresql:' && url.protocol !== 'postgres:') {
|
|
10
|
+
throw new Error(`Invalid protocol "${url.protocol}". Expected "postgresql://" or "postgres://"`);
|
|
11
|
+
}
|
|
12
|
+
const database = (url.pathname || '/').replace(/^\//, '') || 'postgres';
|
|
13
|
+
const port = parseInt(url.port || '5432', 10);
|
|
14
|
+
return {
|
|
15
|
+
host: url.hostname || 'localhost',
|
|
16
|
+
port: Number.isNaN(port) ? 5432 : port,
|
|
17
|
+
user: url.username ? decodeURIComponent(url.username) : 'postgres',
|
|
18
|
+
password: url.password ? decodeURIComponent(url.password) : '',
|
|
19
|
+
database: database,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function getDbUrlFromEnv() {
|
|
23
|
+
return process.env.DBDOCK_DB_URL || process.env.DATABASE_URL;
|
|
24
|
+
}
|
|
25
|
+
function applyDbUrlToPostgresConfig(config) {
|
|
26
|
+
const url = getDbUrlFromEnv();
|
|
27
|
+
if (!url || !url.trim())
|
|
28
|
+
return config;
|
|
29
|
+
const parsed = parsePostgresUrlToConfig(url);
|
|
30
|
+
const merged = JSON.parse(JSON.stringify(config));
|
|
31
|
+
if (!merged.postgres)
|
|
32
|
+
merged.postgres = {};
|
|
33
|
+
merged.postgres.host = parsed.host;
|
|
34
|
+
merged.postgres.port = parsed.port;
|
|
35
|
+
merged.postgres.user = parsed.user;
|
|
36
|
+
merged.postgres.password = parsed.password;
|
|
37
|
+
merged.postgres.database = parsed.database;
|
|
38
|
+
return merged;
|
|
39
|
+
}
|
|
40
|
+
function applyDbUrlToCliDatabase(config) {
|
|
41
|
+
const url = getDbUrlFromEnv();
|
|
42
|
+
if (!url || !url.trim())
|
|
43
|
+
return config;
|
|
44
|
+
const parsed = parsePostgresUrlToConfig(url);
|
|
45
|
+
const merged = JSON.parse(JSON.stringify(config));
|
|
46
|
+
if (!merged.database)
|
|
47
|
+
merged.database = {};
|
|
48
|
+
merged.database.host = parsed.host;
|
|
49
|
+
merged.database.port = parsed.port;
|
|
50
|
+
merged.database.username = parsed.user;
|
|
51
|
+
merged.database.user = parsed.user;
|
|
52
|
+
merged.database.password = parsed.password;
|
|
53
|
+
merged.database.database = parsed.database;
|
|
54
|
+
return merged;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=env-url.helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-url.helper.js","sourceRoot":"","sources":["../../src/config/env-url.helper.ts"],"names":[],"mappings":";;AAQA,4DAcC;AAED,0CAEC;AAED,gEAYC;AAED,0DAaC;AA/CD,SAAgB,wBAAwB,CAAC,SAAiB;IACxD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,CAAC,QAAQ,8CAA8C,CAAC,CAAC;IACnG,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC;IACxE,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;IAC9C,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,QAAQ,IAAI,WAAW;QACjC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;QACtC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU;QAClE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;QAC9D,QAAQ,EAAE,QAAQ;KACnB,CAAC;AACJ,CAAC;AAED,SAAgB,eAAe;IAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;AAC/D,CAAC;AAED,SAAgB,0BAA0B,CAAC,MAA+B;IACxE,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;IAC9B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;QAAE,OAAO,MAAM,CAAC;IACvC,MAAM,MAAM,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,CAAC,QAAQ;QAAE,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;IAC3C,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACnC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACnC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACnC,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC3C,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC3C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,uBAAuB,CAAC,MAA+B;IACrE,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;IAC9B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;QAAE,OAAO,MAAM,CAAC;IACvC,MAAM,MAAM,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,CAAC,QAAQ;QAAE,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;IAC3C,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACnC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACnC,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;IACvC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACnC,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC3C,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC3C,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -45,6 +45,7 @@ exports.formatMigrationInstructions = formatMigrationInstructions;
|
|
|
45
45
|
const fs = __importStar(require("fs"));
|
|
46
46
|
const path = __importStar(require("path"));
|
|
47
47
|
const dotenv = __importStar(require("dotenv"));
|
|
48
|
+
const env_url_helper_1 = require("./env-url.helper");
|
|
48
49
|
dotenv.config({ path: path.join(process.cwd(), '.env') });
|
|
49
50
|
const envLocalPath = path.join(process.cwd(), '.env.local');
|
|
50
51
|
if (fs.existsSync(envLocalPath)) {
|
|
@@ -174,7 +175,10 @@ function validateSecrets(config, requireEnvOnly = false) {
|
|
|
174
175
|
}
|
|
175
176
|
function getRequiredSecrets(config) {
|
|
176
177
|
const required = [];
|
|
177
|
-
|
|
178
|
+
const dbUrl = (0, env_url_helper_1.getDbUrlFromEnv)();
|
|
179
|
+
if (!dbUrl || !dbUrl.trim()) {
|
|
180
|
+
required.push('postgres.password');
|
|
181
|
+
}
|
|
178
182
|
const storageProvider = getNestedValue(config, 'storage.provider');
|
|
179
183
|
if (storageProvider === 's3' || storageProvider === 'r2') {
|
|
180
184
|
required.push('storage.accessKeyId');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secrets.validator.js","sourceRoot":"","sources":["../../src/config/secrets.validator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"secrets.validator.js","sourceRoot":"","sources":["../../src/config/secrets.validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseMongoUrl = parseMongoUrl;
|
|
4
|
+
exports.analyzeMongoDB = analyzeMongoDB;
|
|
5
|
+
const mongodb_1 = require("mongodb");
|
|
6
|
+
const type_mapper_1 = require("../type.mapper");
|
|
7
|
+
const SAMPLE_SIZE = 5000;
|
|
8
|
+
const MAX_SAMPLE_VALUES = 5;
|
|
9
|
+
function parseMongoUrl(urlString) {
|
|
10
|
+
const url = new URL(urlString);
|
|
11
|
+
if (url.protocol !== 'mongodb:' && url.protocol !== 'mongodb+srv:') {
|
|
12
|
+
throw new Error(`Invalid protocol "${url.protocol}". Expected "mongodb://" or "mongodb+srv://"`);
|
|
13
|
+
}
|
|
14
|
+
const database = url.pathname.replace(/^\//, '') || 'test';
|
|
15
|
+
return {
|
|
16
|
+
type: 'mongodb',
|
|
17
|
+
url: urlString,
|
|
18
|
+
database,
|
|
19
|
+
host: url.hostname || 'localhost',
|
|
20
|
+
port: parseInt(url.port || '27017'),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
async function analyzeMongoDB(connectionUrl, sampleSize = SAMPLE_SIZE) {
|
|
24
|
+
const parsed = parseMongoUrl(connectionUrl);
|
|
25
|
+
const client = new mongodb_1.MongoClient(connectionUrl);
|
|
26
|
+
try {
|
|
27
|
+
await client.connect();
|
|
28
|
+
const db = client.db(parsed.database);
|
|
29
|
+
const collectionNames = await getCollectionNames(db);
|
|
30
|
+
const collections = [];
|
|
31
|
+
let totalDocuments = 0;
|
|
32
|
+
for (const name of collectionNames) {
|
|
33
|
+
const analysis = await analyzeCollection(db, name, sampleSize);
|
|
34
|
+
collections.push(analysis);
|
|
35
|
+
totalDocuments += analysis.documentCount;
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
database: parsed.database,
|
|
39
|
+
type: 'mongodb',
|
|
40
|
+
collections,
|
|
41
|
+
totalDocuments,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
finally {
|
|
45
|
+
await client.close();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
async function getCollectionNames(db) {
|
|
49
|
+
const collections = await db.listCollections().toArray();
|
|
50
|
+
return collections
|
|
51
|
+
.filter((c) => c.type === 'collection')
|
|
52
|
+
.map((c) => c.name)
|
|
53
|
+
.filter((n) => !n.startsWith('system.'));
|
|
54
|
+
}
|
|
55
|
+
async function analyzeCollection(db, collectionName, sampleSize) {
|
|
56
|
+
const collection = db.collection(collectionName);
|
|
57
|
+
const documentCount = await collection.countDocuments();
|
|
58
|
+
let documents;
|
|
59
|
+
if (documentCount <= sampleSize) {
|
|
60
|
+
documents = await collection.find({}).toArray();
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
documents = await collection.aggregate([{ $sample: { size: sampleSize } }]).toArray();
|
|
64
|
+
}
|
|
65
|
+
const fieldMap = new Map();
|
|
66
|
+
const sampledCount = documents.length;
|
|
67
|
+
for (const doc of documents) {
|
|
68
|
+
analyzeDocument(doc, '', fieldMap, 0);
|
|
69
|
+
}
|
|
70
|
+
const fields = buildFieldInfos(fieldMap, sampledCount, documentCount);
|
|
71
|
+
const indexes = await collection.indexes().catch(() => []);
|
|
72
|
+
const indexInfo = indexes.map((idx) => ({
|
|
73
|
+
name: idx.name,
|
|
74
|
+
key: idx.key,
|
|
75
|
+
unique: idx.unique || false,
|
|
76
|
+
}));
|
|
77
|
+
return {
|
|
78
|
+
name: collectionName,
|
|
79
|
+
documentCount,
|
|
80
|
+
fields,
|
|
81
|
+
indexes: indexInfo,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
function getOrCreateAccumulator(map, path, name, depth) {
|
|
85
|
+
if (!map.has(path)) {
|
|
86
|
+
map.set(path, {
|
|
87
|
+
name,
|
|
88
|
+
path,
|
|
89
|
+
typeCounts: {},
|
|
90
|
+
count: 0,
|
|
91
|
+
isArray: false,
|
|
92
|
+
isObjectId: false,
|
|
93
|
+
isNestedObject: false,
|
|
94
|
+
sampleValues: [],
|
|
95
|
+
depth,
|
|
96
|
+
children: new Map(),
|
|
97
|
+
arrayElementTypes: new Set(),
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
return map.get(path);
|
|
101
|
+
}
|
|
102
|
+
function analyzeDocument(doc, prefix, fieldMap, depth) {
|
|
103
|
+
if (!doc || typeof doc !== 'object' || Array.isArray(doc))
|
|
104
|
+
return;
|
|
105
|
+
for (const [key, value] of Object.entries(doc)) {
|
|
106
|
+
const path = prefix ? `${prefix}.${key}` : key;
|
|
107
|
+
const acc = getOrCreateAccumulator(fieldMap, path, key, depth);
|
|
108
|
+
acc.count++;
|
|
109
|
+
const fieldType = (0, type_mapper_1.detectMongoFieldType)(value);
|
|
110
|
+
acc.typeCounts[fieldType] = (acc.typeCounts[fieldType] || 0) + 1;
|
|
111
|
+
if (acc.sampleValues.length < MAX_SAMPLE_VALUES) {
|
|
112
|
+
acc.sampleValues.push(summarizeValue(value));
|
|
113
|
+
}
|
|
114
|
+
if (fieldType === 'objectId') {
|
|
115
|
+
acc.isObjectId = true;
|
|
116
|
+
}
|
|
117
|
+
if (fieldType === 'array' && Array.isArray(value)) {
|
|
118
|
+
acc.isArray = true;
|
|
119
|
+
for (const element of value.slice(0, 100)) {
|
|
120
|
+
const elType = (0, type_mapper_1.detectMongoFieldType)(element);
|
|
121
|
+
acc.arrayElementTypes.add(elType);
|
|
122
|
+
if (elType === 'object' && element && typeof element === 'object') {
|
|
123
|
+
analyzeDocument(element, path + '[]', fieldMap, depth + 1);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
if (fieldType === 'object' && value && !isSpecialBsonType(value)) {
|
|
128
|
+
acc.isNestedObject = true;
|
|
129
|
+
analyzeDocument(value, path, fieldMap, depth + 1);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
function isSpecialBsonType(value) {
|
|
134
|
+
if (!value || typeof value !== 'object')
|
|
135
|
+
return false;
|
|
136
|
+
return !!(value._bsontype || value instanceof mongodb_1.ObjectId || value instanceof Date);
|
|
137
|
+
}
|
|
138
|
+
function summarizeValue(value) {
|
|
139
|
+
if (value === null || value === undefined)
|
|
140
|
+
return value;
|
|
141
|
+
if (typeof value === 'string')
|
|
142
|
+
return value.length > 50 ? value.slice(0, 50) + '...' : value;
|
|
143
|
+
if (typeof value === 'number' || typeof value === 'boolean')
|
|
144
|
+
return value;
|
|
145
|
+
if (value instanceof Date)
|
|
146
|
+
return value.toISOString();
|
|
147
|
+
if (value instanceof mongodb_1.ObjectId || value?._bsontype === 'ObjectId')
|
|
148
|
+
return value.toString();
|
|
149
|
+
if (Array.isArray(value))
|
|
150
|
+
return `[Array(${value.length})]`;
|
|
151
|
+
if (typeof value === 'object')
|
|
152
|
+
return `{Object(${Object.keys(value).length} keys)}`;
|
|
153
|
+
return String(value);
|
|
154
|
+
}
|
|
155
|
+
function buildFieldInfos(fieldMap, sampledCount, totalCount) {
|
|
156
|
+
const topLevelFields = [];
|
|
157
|
+
const topLevelEntries = Array.from(fieldMap.entries()).filter(([path]) => !path.includes('.'));
|
|
158
|
+
for (const [, acc] of topLevelEntries) {
|
|
159
|
+
const field = accumulatorToFieldInfo(acc, fieldMap, sampledCount, totalCount);
|
|
160
|
+
topLevelFields.push(field);
|
|
161
|
+
}
|
|
162
|
+
topLevelFields.sort((a, b) => b.frequency - a.frequency);
|
|
163
|
+
return topLevelFields;
|
|
164
|
+
}
|
|
165
|
+
function accumulatorToFieldInfo(acc, fieldMap, sampledCount, totalCount) {
|
|
166
|
+
const frequency = sampledCount > 0
|
|
167
|
+
? Math.round((acc.count / sampledCount) * 100 * 100) / 100
|
|
168
|
+
: 0;
|
|
169
|
+
const nestedFields = [];
|
|
170
|
+
const childPrefix = acc.path + '.';
|
|
171
|
+
const arrayChildPrefix = acc.path + '[].';
|
|
172
|
+
for (const [path, childAcc] of fieldMap.entries()) {
|
|
173
|
+
if (path.startsWith(childPrefix) || path.startsWith(arrayChildPrefix)) {
|
|
174
|
+
const remaining = path.startsWith(childPrefix)
|
|
175
|
+
? path.slice(childPrefix.length)
|
|
176
|
+
: path.slice(arrayChildPrefix.length);
|
|
177
|
+
if (!remaining.includes('.') && !remaining.includes('[]')) {
|
|
178
|
+
nestedFields.push(accumulatorToFieldInfo(childAcc, fieldMap, sampledCount, totalCount));
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
nestedFields.sort((a, b) => b.frequency - a.frequency);
|
|
183
|
+
const possibleReference = acc.isObjectId && acc.name !== '_id'
|
|
184
|
+
? guessReferenceFromName(acc.name)
|
|
185
|
+
: undefined;
|
|
186
|
+
return {
|
|
187
|
+
name: acc.name,
|
|
188
|
+
path: acc.path,
|
|
189
|
+
types: acc.typeCounts,
|
|
190
|
+
totalCount: Math.round((acc.count / sampledCount) * totalCount),
|
|
191
|
+
frequency,
|
|
192
|
+
isArray: acc.isArray,
|
|
193
|
+
isObjectId: acc.isObjectId,
|
|
194
|
+
isNestedObject: acc.isNestedObject,
|
|
195
|
+
nestedFields: nestedFields.length > 0 ? nestedFields : undefined,
|
|
196
|
+
arrayElementType: acc.arrayElementTypes.size > 0
|
|
197
|
+
? Array.from(acc.arrayElementTypes).join(' | ')
|
|
198
|
+
: undefined,
|
|
199
|
+
possibleReference,
|
|
200
|
+
sampleValues: acc.sampleValues,
|
|
201
|
+
depth: acc.depth,
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
function guessReferenceFromName(fieldName) {
|
|
205
|
+
const cleaned = fieldName.replace(/(_id|Id)$/, '');
|
|
206
|
+
return cleaned || undefined;
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=mongodb.analyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongodb.analyzer.js","sourceRoot":"","sources":["../../../src/migration/analyzers/mongodb.analyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parsePostgresUrl = parsePostgresUrl;
|
|
4
|
+
exports.analyzePostgres = analyzePostgres;
|
|
5
|
+
const pg_1 = require("pg");
|
|
6
|
+
function parsePostgresUrl(urlString) {
|
|
7
|
+
const url = new URL(urlString);
|
|
8
|
+
if (url.protocol !== 'postgresql:' && url.protocol !== 'postgres:') {
|
|
9
|
+
throw new Error(`Invalid protocol "${url.protocol}". Expected "postgresql://" or "postgres://"`);
|
|
10
|
+
}
|
|
11
|
+
const database = url.pathname.replace(/^\//, '') || 'postgres';
|
|
12
|
+
return {
|
|
13
|
+
type: 'postgresql',
|
|
14
|
+
url: urlString,
|
|
15
|
+
database,
|
|
16
|
+
host: url.hostname || 'localhost',
|
|
17
|
+
port: parseInt(url.port || '5432'),
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
async function analyzePostgres(connectionUrl) {
|
|
21
|
+
const parsed = parsePostgresUrl(connectionUrl);
|
|
22
|
+
const pool = new pg_1.Pool({ connectionString: connectionUrl });
|
|
23
|
+
try {
|
|
24
|
+
const tableNames = await getTableNames(pool);
|
|
25
|
+
const tables = [];
|
|
26
|
+
let totalRows = 0;
|
|
27
|
+
for (const tableName of tableNames) {
|
|
28
|
+
const analysis = await analyzeTable(pool, tableName);
|
|
29
|
+
tables.push(analysis);
|
|
30
|
+
totalRows += analysis.rowCount;
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
database: parsed.database,
|
|
34
|
+
type: 'postgresql',
|
|
35
|
+
tables,
|
|
36
|
+
totalRows,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
finally {
|
|
40
|
+
await pool.end();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
async function getTableNames(pool) {
|
|
44
|
+
const result = await pool.query(`
|
|
45
|
+
SELECT table_name
|
|
46
|
+
FROM information_schema.tables
|
|
47
|
+
WHERE table_schema = 'public'
|
|
48
|
+
AND table_type = 'BASE TABLE'
|
|
49
|
+
ORDER BY table_name
|
|
50
|
+
`);
|
|
51
|
+
return result.rows.map((r) => r.table_name);
|
|
52
|
+
}
|
|
53
|
+
async function analyzeTable(pool, tableName) {
|
|
54
|
+
const [columns, foreignKeys, indexes, rowCount] = await Promise.all([
|
|
55
|
+
getColumns(pool, tableName),
|
|
56
|
+
getForeignKeys(pool, tableName),
|
|
57
|
+
getIndexes(pool, tableName),
|
|
58
|
+
getRowCount(pool, tableName),
|
|
59
|
+
]);
|
|
60
|
+
return {
|
|
61
|
+
name: tableName,
|
|
62
|
+
schema: 'public',
|
|
63
|
+
columns,
|
|
64
|
+
foreignKeys,
|
|
65
|
+
indexes,
|
|
66
|
+
rowCount,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
async function getColumns(pool, tableName) {
|
|
70
|
+
const result = await pool.query(`
|
|
71
|
+
SELECT
|
|
72
|
+
c.column_name,
|
|
73
|
+
c.data_type,
|
|
74
|
+
c.udt_name,
|
|
75
|
+
c.is_nullable,
|
|
76
|
+
c.column_default,
|
|
77
|
+
c.character_maximum_length,
|
|
78
|
+
c.numeric_precision,
|
|
79
|
+
COALESCE(pk.is_pk, false) AS is_primary_key,
|
|
80
|
+
COALESCE(uq.is_unique, false) AS is_unique
|
|
81
|
+
FROM information_schema.columns c
|
|
82
|
+
LEFT JOIN (
|
|
83
|
+
SELECT kcu.column_name, true AS is_pk
|
|
84
|
+
FROM information_schema.table_constraints tc
|
|
85
|
+
JOIN information_schema.key_column_usage kcu
|
|
86
|
+
ON tc.constraint_name = kcu.constraint_name
|
|
87
|
+
AND tc.table_schema = kcu.table_schema
|
|
88
|
+
WHERE tc.table_name = $1
|
|
89
|
+
AND tc.table_schema = 'public'
|
|
90
|
+
AND tc.constraint_type = 'PRIMARY KEY'
|
|
91
|
+
) pk ON pk.column_name = c.column_name
|
|
92
|
+
LEFT JOIN (
|
|
93
|
+
SELECT kcu.column_name, true AS is_unique
|
|
94
|
+
FROM information_schema.table_constraints tc
|
|
95
|
+
JOIN information_schema.key_column_usage kcu
|
|
96
|
+
ON tc.constraint_name = kcu.constraint_name
|
|
97
|
+
AND tc.table_schema = kcu.table_schema
|
|
98
|
+
WHERE tc.table_name = $1
|
|
99
|
+
AND tc.table_schema = 'public'
|
|
100
|
+
AND tc.constraint_type = 'UNIQUE'
|
|
101
|
+
) uq ON uq.column_name = c.column_name
|
|
102
|
+
WHERE c.table_name = $1
|
|
103
|
+
AND c.table_schema = 'public'
|
|
104
|
+
ORDER BY c.ordinal_position
|
|
105
|
+
`, [tableName]);
|
|
106
|
+
return result.rows.map((r) => ({
|
|
107
|
+
name: r.column_name,
|
|
108
|
+
dataType: r.data_type,
|
|
109
|
+
udtName: r.udt_name,
|
|
110
|
+
isNullable: r.is_nullable === 'YES',
|
|
111
|
+
columnDefault: r.column_default,
|
|
112
|
+
isPrimaryKey: r.is_primary_key === true,
|
|
113
|
+
isUnique: r.is_unique === true,
|
|
114
|
+
characterMaxLength: r.character_maximum_length,
|
|
115
|
+
numericPrecision: r.numeric_precision,
|
|
116
|
+
}));
|
|
117
|
+
}
|
|
118
|
+
async function getForeignKeys(pool, tableName) {
|
|
119
|
+
const result = await pool.query(`
|
|
120
|
+
SELECT
|
|
121
|
+
tc.constraint_name,
|
|
122
|
+
kcu.column_name,
|
|
123
|
+
ccu.table_name AS referenced_table,
|
|
124
|
+
ccu.column_name AS referenced_column
|
|
125
|
+
FROM information_schema.table_constraints tc
|
|
126
|
+
JOIN information_schema.key_column_usage kcu
|
|
127
|
+
ON tc.constraint_name = kcu.constraint_name
|
|
128
|
+
AND tc.table_schema = kcu.table_schema
|
|
129
|
+
JOIN information_schema.constraint_column_usage ccu
|
|
130
|
+
ON ccu.constraint_name = tc.constraint_name
|
|
131
|
+
AND ccu.table_schema = tc.table_schema
|
|
132
|
+
WHERE tc.table_name = $1
|
|
133
|
+
AND tc.table_schema = 'public'
|
|
134
|
+
AND tc.constraint_type = 'FOREIGN KEY'
|
|
135
|
+
`, [tableName]);
|
|
136
|
+
return result.rows.map((r) => ({
|
|
137
|
+
constraintName: r.constraint_name,
|
|
138
|
+
columnName: r.column_name,
|
|
139
|
+
referencedTable: r.referenced_table,
|
|
140
|
+
referencedColumn: r.referenced_column,
|
|
141
|
+
}));
|
|
142
|
+
}
|
|
143
|
+
async function getIndexes(pool, tableName) {
|
|
144
|
+
const result = await pool.query(`
|
|
145
|
+
SELECT
|
|
146
|
+
i.relname AS index_name,
|
|
147
|
+
array_agg(a.attname ORDER BY k.n) AS columns,
|
|
148
|
+
ix.indisunique AS is_unique,
|
|
149
|
+
ix.indisprimary AS is_primary
|
|
150
|
+
FROM pg_index ix
|
|
151
|
+
JOIN pg_class t ON t.oid = ix.indrelid
|
|
152
|
+
JOIN pg_class i ON i.oid = ix.indexrelid
|
|
153
|
+
JOIN pg_namespace n ON n.oid = t.relnamespace
|
|
154
|
+
CROSS JOIN LATERAL unnest(ix.indkey) WITH ORDINALITY AS k(attnum, n)
|
|
155
|
+
JOIN pg_attribute a ON a.attrelid = t.oid AND a.attnum = k.attnum
|
|
156
|
+
WHERE t.relname = $1
|
|
157
|
+
AND n.nspname = 'public'
|
|
158
|
+
GROUP BY i.relname, ix.indisunique, ix.indisprimary
|
|
159
|
+
`, [tableName]);
|
|
160
|
+
return result.rows.map((r) => ({
|
|
161
|
+
name: r.index_name,
|
|
162
|
+
columns: r.columns,
|
|
163
|
+
isUnique: r.is_unique,
|
|
164
|
+
isPrimary: r.is_primary,
|
|
165
|
+
}));
|
|
166
|
+
}
|
|
167
|
+
async function getRowCount(pool, tableName) {
|
|
168
|
+
const result = await pool.query(`SELECT reltuples::bigint AS estimate FROM pg_class WHERE relname = $1`, [tableName]);
|
|
169
|
+
const estimate = parseInt(result.rows[0]?.estimate || '0');
|
|
170
|
+
if (estimate < 10000) {
|
|
171
|
+
const exact = await pool.query(`SELECT count(*)::integer AS count FROM "${tableName}"`);
|
|
172
|
+
return parseInt(exact.rows[0]?.count || '0');
|
|
173
|
+
}
|
|
174
|
+
return Math.max(estimate, 0);
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=postgres.analyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgres.analyzer.js","sourceRoot":"","sources":["../../../src/migration/analyzers/postgres.analyzer.ts"],"names":[],"mappings":";;AAUA,4CAaC;AAED,0CA0BC;AAnDD,2BAA0B;AAU1B,SAAgB,gBAAgB,CAAC,SAAiB;IAChD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,CAAC,QAAQ,8CAA8C,CAAC,CAAC;IACnG,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC;IAC/D,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,SAAS;QACd,QAAQ;QACR,IAAI,EAAE,GAAG,CAAC,QAAQ,IAAI,WAAW;QACjC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC;KACnC,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,aAAqB;IAErB,MAAM,MAAM,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAI,SAAI,CAAC,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC,CAAC;IAE3D,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtB,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC;QACjC,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,YAAY;YAClB,MAAM;YACN,SAAS;SACV,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAU;IACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;GAM/B,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,IAAU,EACV,SAAiB;IAEjB,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClE,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;QAC3B,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC;QAC/B,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;QAC3B,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC;KAC7B,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,QAAQ;QAChB,OAAO;QACP,WAAW;QACX,OAAO;QACP,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAU,EAAE,SAAiB;IACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCD,EACC,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,IAAI,EAAE,CAAC,CAAC,WAAW;QACnB,QAAQ,EAAE,CAAC,CAAC,SAAS;QACrB,OAAO,EAAE,CAAC,CAAC,QAAQ;QACnB,UAAU,EAAE,CAAC,CAAC,WAAW,KAAK,KAAK;QACnC,aAAa,EAAE,CAAC,CAAC,cAAc;QAC/B,YAAY,EAAE,CAAC,CAAC,cAAc,KAAK,IAAI;QACvC,QAAQ,EAAE,CAAC,CAAC,SAAS,KAAK,IAAI;QAC9B,kBAAkB,EAAE,CAAC,CAAC,wBAAwB;QAC9C,gBAAgB,EAAE,CAAC,CAAC,iBAAiB;KACtC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,IAAU,EACV,SAAiB;IAEjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC7B;;;;;;;;;;;;;;;;GAgBD,EACC,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,cAAc,EAAE,CAAC,CAAC,eAAe;QACjC,UAAU,EAAE,CAAC,CAAC,WAAW;QACzB,eAAe,EAAE,CAAC,CAAC,gBAAgB;QACnC,gBAAgB,EAAE,CAAC,CAAC,iBAAiB;KACtC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAU,EAAE,SAAiB;IACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC7B;;;;;;;;;;;;;;;GAeD,EACC,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,IAAI,EAAE,CAAC,CAAC,UAAU;QAClB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,QAAQ,EAAE,CAAC,CAAC,SAAS;QACrB,SAAS,EAAE,CAAC,CAAC,UAAU;KACxB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAU,EAAE,SAAiB;IACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC7B,uEAAuE,EACvE,CAAC,SAAS,CAAC,CACZ,CAAC;IACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,GAAG,CAAC,CAAC;IAE3D,IAAI,QAAQ,GAAG,KAAK,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAC5B,2CAA2C,SAAS,GAAG,CACxD,CAAC;QACF,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAC/B,CAAC"}
|