@codemastersolutions/db-utility 0.0.12 → 0.0.14
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.es.md +8 -3
- package/README.md +8 -3
- package/README.pt-BR.md +8 -3
- package/dist/cli/VersionChecker.d.ts +5 -5
- package/dist/cli/VersionChecker.d.ts.map +1 -1
- package/dist/cli/VersionChecker.js +20 -20
- package/dist/cli/VersionChecker.js.map +1 -1
- package/dist/cli/helpers.js +4 -4
- package/dist/cli/helpers.js.map +1 -1
- package/dist/cli/index.js +17 -11
- package/dist/cli/index.js.map +1 -1
- package/dist/config/AppConfig.d.ts.map +1 -1
- package/dist/config/AppConfig.js +25 -29
- package/dist/config/AppConfig.js.map +1 -1
- package/dist/config/ConfigInitializer.d.ts.map +1 -1
- package/dist/config/ConfigInitializer.js +6 -5
- package/dist/config/ConfigInitializer.js.map +1 -1
- package/dist/config/ConfigLoader.d.ts +11 -0
- package/dist/config/ConfigLoader.d.ts.map +1 -1
- package/dist/config/ConfigLoader.js +120 -41
- package/dist/config/ConfigLoader.js.map +1 -1
- package/dist/database/SqlSafety.js +1 -1
- package/dist/database/SqlSafety.js.map +1 -1
- package/dist/database/connectors/MssqlConnector.d.ts +1 -2
- package/dist/database/connectors/MssqlConnector.d.ts.map +1 -1
- package/dist/database/connectors/MssqlConnector.js +16 -5
- package/dist/database/connectors/MssqlConnector.js.map +1 -1
- package/dist/database/connectors/MysqlConnector.d.ts +1 -1
- package/dist/database/connectors/MysqlConnector.d.ts.map +1 -1
- package/dist/database/connectors/MysqlConnector.js +14 -1
- package/dist/database/connectors/MysqlConnector.js.map +1 -1
- package/dist/database/connectors/PostgresConnector.d.ts +1 -1
- package/dist/database/connectors/PostgresConnector.d.ts.map +1 -1
- package/dist/database/connectors/PostgresConnector.js +3 -0
- package/dist/database/connectors/PostgresConnector.js.map +1 -1
- package/dist/errors/DbUtilityError.d.ts +1 -1
- package/dist/errors/DbUtilityError.d.ts.map +1 -1
- package/dist/errors/DbUtilityError.js.map +1 -1
- package/dist/generators/GeneratorWriter.js +8 -8
- package/dist/generators/GeneratorWriter.js.map +1 -1
- package/dist/generators/PrismaGenerator.js +2 -2
- package/dist/generators/PrismaGenerator.js.map +1 -1
- package/dist/generators/SequelizeGenerator.d.ts.map +1 -1
- package/dist/generators/SequelizeGenerator.js +17 -21
- package/dist/generators/SequelizeGenerator.js.map +1 -1
- package/dist/generators/TypeORMGenerator.js +6 -6
- package/dist/generators/TypeORMGenerator.js.map +1 -1
- package/dist/i18n/messages.d.ts +2 -0
- package/dist/i18n/messages.d.ts.map +1 -1
- package/dist/i18n/messages.js +6 -0
- package/dist/i18n/messages.js.map +1 -1
- package/dist/introspection/DataExtractor.d.ts +2 -2
- package/dist/introspection/DataExtractor.d.ts.map +1 -1
- package/dist/introspection/DataExtractor.js.map +1 -1
- package/dist/introspection/IntrospectionLogger.js +9 -9
- package/dist/introspection/IntrospectionLogger.js.map +1 -1
- package/dist/introspection/IntrospectionService.d.ts +2 -2
- package/dist/introspection/IntrospectionService.d.ts.map +1 -1
- package/dist/introspection/IntrospectionService.js.map +1 -1
- package/dist/introspection/PostgresIntrospector.d.ts.map +1 -1
- package/dist/introspection/PostgresIntrospector.js +1 -2
- package/dist/introspection/PostgresIntrospector.js.map +1 -1
- package/dist/testing/ContainerManager.js +3 -3
- package/dist/testing/ContainerManager.js.map +1 -1
- package/dist/testing/MigrationTester.d.ts +2 -2
- package/dist/testing/MigrationTester.d.ts.map +1 -1
- package/dist/testing/MigrationTester.js +25 -24
- package/dist/testing/MigrationTester.js.map +1 -1
- package/dist/testing/ModelTester.d.ts +1 -1
- package/dist/testing/ModelTester.d.ts.map +1 -1
- package/dist/testing/ModelTester.js +40 -40
- package/dist/testing/ModelTester.js.map +1 -1
- package/dist/testing/runners/SequelizeRunner.d.ts.map +1 -1
- package/dist/testing/runners/SequelizeRunner.js +11 -9
- package/dist/testing/runners/SequelizeRunner.js.map +1 -1
- package/dist/testing/runners/TypeORMRunner.d.ts.map +1 -1
- package/dist/testing/runners/TypeORMRunner.js +13 -11
- package/dist/testing/runners/TypeORMRunner.js.map +1 -1
- package/dist/types/database.d.ts +1 -0
- package/dist/types/database.d.ts.map +1 -1
- package/dist/utils/PackageManager.d.ts.map +1 -1
- package/dist/utils/PackageManager.js +10 -8
- package/dist/utils/PackageManager.js.map +1 -1
- package/package.json +6 -25
|
@@ -34,8 +34,9 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.MigrationTester = void 0;
|
|
37
|
-
const
|
|
38
|
-
const
|
|
37
|
+
const node_path_1 = require("node:path");
|
|
38
|
+
const node_fs_1 = require("node:fs");
|
|
39
|
+
const node_crypto_1 = require("node:crypto");
|
|
39
40
|
const ContainerManager_1 = require("./ContainerManager");
|
|
40
41
|
const SequelizeRunner_1 = require("./runners/SequelizeRunner");
|
|
41
42
|
const TypeORMRunner_1 = require("./runners/TypeORMRunner");
|
|
@@ -65,10 +66,10 @@ class MigrationTester {
|
|
|
65
66
|
});
|
|
66
67
|
}
|
|
67
68
|
else {
|
|
68
|
-
const infoPath = (0,
|
|
69
|
-
if ((0,
|
|
69
|
+
const infoPath = (0, node_path_1.join)(migrationsDir, 'database-info.json');
|
|
70
|
+
if ((0, node_fs_1.existsSync)(infoPath)) {
|
|
70
71
|
try {
|
|
71
|
-
const info = JSON.parse((0,
|
|
72
|
+
const info = JSON.parse((0, node_fs_1.readFileSync)(infoPath, 'utf-8'));
|
|
72
73
|
if (info.type) {
|
|
73
74
|
testEngines.push({
|
|
74
75
|
type: info.type,
|
|
@@ -110,7 +111,7 @@ class MigrationTester {
|
|
|
110
111
|
if (installConfig.scope === 'global') {
|
|
111
112
|
try {
|
|
112
113
|
const globalPath = await this.packageManager.getGlobalInstallPath();
|
|
113
|
-
ormPath = (0,
|
|
114
|
+
ormPath = (0, node_path_1.join)(globalPath, target);
|
|
114
115
|
}
|
|
115
116
|
catch (e) {
|
|
116
117
|
console.warn('Could not determine global install path', e);
|
|
@@ -142,18 +143,18 @@ class MigrationTester {
|
|
|
142
143
|
}
|
|
143
144
|
async ensureOrmInstalled(target) {
|
|
144
145
|
const cwd = process.cwd();
|
|
145
|
-
const pkgPath = (0,
|
|
146
|
+
const pkgPath = (0, node_path_1.join)(cwd, 'package.json');
|
|
146
147
|
let hasPackageJson = false;
|
|
147
148
|
let hasOrmInPackageJson = false;
|
|
148
|
-
if ((0,
|
|
149
|
+
if ((0, node_fs_1.existsSync)(pkgPath)) {
|
|
149
150
|
hasPackageJson = true;
|
|
150
151
|
try {
|
|
151
|
-
const pkgRaw = (0,
|
|
152
|
+
const pkgRaw = (0, node_fs_1.readFileSync)(pkgPath, 'utf-8');
|
|
152
153
|
const pkg = JSON.parse(pkgRaw);
|
|
153
154
|
const deps = {
|
|
154
|
-
...
|
|
155
|
-
...
|
|
156
|
-
...
|
|
155
|
+
...pkg.dependencies,
|
|
156
|
+
...pkg.devDependencies,
|
|
157
|
+
...pkg.peerDependencies,
|
|
157
158
|
};
|
|
158
159
|
hasOrmInPackageJson = !!deps[target];
|
|
159
160
|
}
|
|
@@ -250,7 +251,7 @@ class MigrationTester {
|
|
|
250
251
|
return 'postgres';
|
|
251
252
|
}
|
|
252
253
|
extractVersionNumber(versionString) {
|
|
253
|
-
const match =
|
|
254
|
+
const match = new RegExp(/(\d+(\.\d+)?)/).exec(versionString);
|
|
254
255
|
return match ? match[1] : 'latest';
|
|
255
256
|
}
|
|
256
257
|
getImageName(type, version) {
|
|
@@ -299,7 +300,7 @@ class MigrationTester {
|
|
|
299
300
|
}
|
|
300
301
|
async runTest(target, migrationsDir, engine, ormPath, backup) {
|
|
301
302
|
const startTime = Date.now();
|
|
302
|
-
const password = '
|
|
303
|
+
const password = (0, node_crypto_1.randomBytes)(18).toString('base64url');
|
|
303
304
|
const port = Math.floor(Math.random() * (60000 - 10000) + 10000);
|
|
304
305
|
const image = this.getImageName(engine.type, engine.version);
|
|
305
306
|
const dbName = engine.databaseName || 'testdb';
|
|
@@ -311,12 +312,12 @@ class MigrationTester {
|
|
|
311
312
|
console.log('Backup flag:', backup);
|
|
312
313
|
if (backup) {
|
|
313
314
|
const friendlyName = this.getFriendlyName(engine.type, engine.version);
|
|
314
|
-
const backupDir = (0,
|
|
315
|
-
if (!(0,
|
|
316
|
-
(0,
|
|
315
|
+
const backupDir = (0, node_path_1.join)(process.cwd(), 'exports', 'backups', friendlyName);
|
|
316
|
+
if (!(0, node_fs_1.existsSync)(backupDir)) {
|
|
317
|
+
(0, node_fs_1.mkdirSync)(backupDir, { recursive: true });
|
|
317
318
|
}
|
|
318
319
|
try {
|
|
319
|
-
(0,
|
|
320
|
+
(0, node_fs_1.chmodSync)(backupDir, '777');
|
|
320
321
|
}
|
|
321
322
|
catch (e) {
|
|
322
323
|
console.warn(`Failed to chmod ${backupDir}: ${e instanceof Error ? e.message : String(e)}`);
|
|
@@ -349,12 +350,12 @@ class MigrationTester {
|
|
|
349
350
|
if (backup && containerId) {
|
|
350
351
|
console.log('Exporting database backup...');
|
|
351
352
|
const friendlyName = this.getFriendlyName(engine.type, engine.version);
|
|
352
|
-
const backupDir = (0,
|
|
353
|
+
const backupDir = (0, node_path_1.join)(process.cwd(), 'exports', 'backups', friendlyName);
|
|
353
354
|
const backupExt = engine.type === 'mssql' ? 'bak' : 'sql';
|
|
354
|
-
const backupFile = (0,
|
|
355
|
+
const backupFile = (0, node_path_1.join)(backupDir, `${dbName}.${backupExt}`);
|
|
355
356
|
try {
|
|
356
|
-
if ((0,
|
|
357
|
-
(0,
|
|
357
|
+
if ((0, node_fs_1.existsSync)(backupFile)) {
|
|
358
|
+
(0, node_fs_1.unlinkSync)(backupFile);
|
|
358
359
|
}
|
|
359
360
|
}
|
|
360
361
|
catch (e) {
|
|
@@ -378,7 +379,7 @@ class MigrationTester {
|
|
|
378
379
|
else if (engine.type === 'postgres') {
|
|
379
380
|
await this.containerManager.execInContainer(containerId, `sh -c "pg_dump -U postgres ${dbName} > /backup/${dbName}.sql"`, { PGPASSWORD: password });
|
|
380
381
|
}
|
|
381
|
-
console.log(`Backup exported to ${(0,
|
|
382
|
+
console.log(`Backup exported to ${(0, node_path_1.join)('exports', 'backups', friendlyName, `${dbName}.${backupExt}`)}`);
|
|
382
383
|
}
|
|
383
384
|
return {
|
|
384
385
|
engine: `${engine.type} ${engine.version}`,
|
|
@@ -424,7 +425,7 @@ class MigrationTester {
|
|
|
424
425
|
console.log('Database is ready.');
|
|
425
426
|
return;
|
|
426
427
|
}
|
|
427
|
-
catch
|
|
428
|
+
catch {
|
|
428
429
|
await new Promise((r) => setTimeout(r, 2000));
|
|
429
430
|
}
|
|
430
431
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MigrationTester.js","sourceRoot":"","sources":["../../src/testing/MigrationTester.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MigrationTester.js","sourceRoot":"","sources":["../../src/testing/MigrationTester.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelTester.d.ts","sourceRoot":"","sources":["../../src/testing/ModelTester.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBAAa,WAAW;IACV,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;
|
|
1
|
+
{"version":3,"file":"ModelTester.d.ts","sourceRoot":"","sources":["../../src/testing/ModelTester.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAE7C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAqB5C,OAAO,CAAC,oBAAoB;YAMd,kBAAkB;IA8ChC,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,iBAAiB;YAYX,aAAa;YAuFb,WAAW;YA6EX,UAAU;CAwFzB"}
|
|
@@ -34,9 +34,9 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.ModelTester = void 0;
|
|
37
|
-
const
|
|
38
|
-
const
|
|
39
|
-
const
|
|
37
|
+
const node_child_process_1 = require("node:child_process");
|
|
38
|
+
const node_fs_1 = require("node:fs");
|
|
39
|
+
const node_path_1 = require("node:path");
|
|
40
40
|
class ModelTester {
|
|
41
41
|
config;
|
|
42
42
|
constructor(config) {
|
|
@@ -61,9 +61,9 @@ class ModelTester {
|
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
detectPackageManager() {
|
|
64
|
-
if ((0,
|
|
64
|
+
if ((0, node_fs_1.existsSync)('yarn.lock'))
|
|
65
65
|
return 'yarn';
|
|
66
|
-
if ((0,
|
|
66
|
+
if ((0, node_fs_1.existsSync)('pnpm-lock.yaml'))
|
|
67
67
|
return 'pnpm';
|
|
68
68
|
return 'npm';
|
|
69
69
|
}
|
|
@@ -98,7 +98,7 @@ class ModelTester {
|
|
|
98
98
|
const installCmd = this.getInstallCommand(pkgManager, packageName, version);
|
|
99
99
|
console.log(`Installing ${packageName}...`);
|
|
100
100
|
try {
|
|
101
|
-
(0,
|
|
101
|
+
(0, node_child_process_1.execSync)(installCmd, { stdio: 'inherit' });
|
|
102
102
|
console.log(`Successfully installed ${packageName}.`);
|
|
103
103
|
}
|
|
104
104
|
catch (error) {
|
|
@@ -121,14 +121,14 @@ class ModelTester {
|
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
123
|
isPackageInstalled(packageName) {
|
|
124
|
-
if ((0,
|
|
125
|
-
const pkg = JSON.parse((0,
|
|
124
|
+
if ((0, node_fs_1.existsSync)('package.json')) {
|
|
125
|
+
const pkg = JSON.parse((0, node_fs_1.readFileSync)('package.json', 'utf-8'));
|
|
126
126
|
const deps = { ...pkg.dependencies, ...pkg.devDependencies };
|
|
127
127
|
if (deps[packageName])
|
|
128
128
|
return true;
|
|
129
129
|
}
|
|
130
130
|
try {
|
|
131
|
-
(0,
|
|
131
|
+
(0, node_child_process_1.execSync)(`npm list -g ${packageName}`, { stdio: 'ignore' });
|
|
132
132
|
return true;
|
|
133
133
|
}
|
|
134
134
|
catch {
|
|
@@ -147,7 +147,7 @@ class ModelTester {
|
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
149
|
async testSequelize(modelsDir) {
|
|
150
|
-
const testFile = (0,
|
|
150
|
+
const testFile = (0, node_path_1.join)(modelsDir, 'test-sequelize-models.ts');
|
|
151
151
|
const script = `
|
|
152
152
|
import { Sequelize, DataTypes } from 'sequelize';
|
|
153
153
|
import * as fs from 'fs';
|
|
@@ -170,27 +170,27 @@ async function run() {
|
|
|
170
170
|
|
|
171
171
|
// Find all model files
|
|
172
172
|
const files = fs.readdirSync('${modelsDir}').filter(f => f.endsWith('.ts') && f !== 'test-sequelize-models.ts');
|
|
173
|
-
|
|
173
|
+
|
|
174
174
|
for (const file of files) {
|
|
175
175
|
const modelName = path.basename(file, '.ts');
|
|
176
176
|
console.log(\`Testing model: \${modelName}\`);
|
|
177
|
-
|
|
177
|
+
|
|
178
178
|
// Dynamic import of the model
|
|
179
179
|
// Note: In generated models, we export a class and an init function.
|
|
180
180
|
// We need to import the file.
|
|
181
181
|
// Since we are running this script with ts-node, we can use require or import.
|
|
182
|
-
|
|
182
|
+
|
|
183
183
|
const modelModule = require(path.join('${modelsDir}', file));
|
|
184
|
-
|
|
184
|
+
|
|
185
185
|
// Check if it has init function
|
|
186
186
|
if (typeof modelModule.init === 'function') {
|
|
187
187
|
const Model = modelModule.init(sequelize);
|
|
188
|
-
|
|
188
|
+
|
|
189
189
|
// Try a simple query
|
|
190
190
|
try {
|
|
191
191
|
const count = await Model.count();
|
|
192
192
|
console.log(\`✅ \${modelName}: Count query successful (Rows: \${count})\`);
|
|
193
|
-
|
|
193
|
+
|
|
194
194
|
const item = await Model.findOne();
|
|
195
195
|
if (item) {
|
|
196
196
|
console.log(\` Sample data: \${JSON.stringify(item.toJSON())}\`);
|
|
@@ -213,19 +213,19 @@ async function run() {
|
|
|
213
213
|
|
|
214
214
|
run();
|
|
215
215
|
`;
|
|
216
|
-
(0,
|
|
216
|
+
(0, node_fs_1.writeFileSync)(testFile, script);
|
|
217
217
|
console.log(`Running test script: ${testFile}`);
|
|
218
218
|
try {
|
|
219
|
-
(0,
|
|
219
|
+
(0, node_child_process_1.execSync)(`npx ts-node "${testFile}"`, { stdio: 'inherit' });
|
|
220
220
|
}
|
|
221
221
|
finally {
|
|
222
|
-
if ((0,
|
|
223
|
-
(0,
|
|
222
|
+
if ((0, node_fs_1.existsSync)(testFile)) {
|
|
223
|
+
(0, node_fs_1.unlinkSync)(testFile);
|
|
224
224
|
}
|
|
225
225
|
}
|
|
226
226
|
}
|
|
227
227
|
async testTypeORM(modelsDir) {
|
|
228
|
-
const testFile = (0,
|
|
228
|
+
const testFile = (0, node_path_1.join)(modelsDir, 'test-typeorm-models.ts');
|
|
229
229
|
const script = `
|
|
230
230
|
import { DataSource } from 'typeorm';
|
|
231
231
|
import * as fs from 'fs';
|
|
@@ -260,12 +260,12 @@ async function run() {
|
|
|
260
260
|
const metadata = dataSource.getMetadata(entity);
|
|
261
261
|
const tableName = metadata.tableName;
|
|
262
262
|
console.log(\`Testing entity: \${metadata.name} (Table: \${tableName})\`);
|
|
263
|
-
|
|
263
|
+
|
|
264
264
|
try {
|
|
265
265
|
const repo = dataSource.getRepository(entity);
|
|
266
266
|
const count = await repo.count();
|
|
267
267
|
console.log(\`✅ \${metadata.name}: Count query successful (Rows: \${count})\`);
|
|
268
|
-
|
|
268
|
+
|
|
269
269
|
const item = await repo.findOne({ where: {} });
|
|
270
270
|
if (item) {
|
|
271
271
|
console.log(\` Sample data: \${JSON.stringify(item)}\`);
|
|
@@ -287,31 +287,31 @@ async function run() {
|
|
|
287
287
|
|
|
288
288
|
run();
|
|
289
289
|
`;
|
|
290
|
-
(0,
|
|
290
|
+
(0, node_fs_1.writeFileSync)(testFile, script);
|
|
291
291
|
console.log(`Running test script: ${testFile}`);
|
|
292
292
|
try {
|
|
293
|
-
(0,
|
|
293
|
+
(0, node_child_process_1.execSync)(`npx ts-node "${testFile}"`, { stdio: 'inherit' });
|
|
294
294
|
}
|
|
295
295
|
finally {
|
|
296
|
-
if ((0,
|
|
297
|
-
(0,
|
|
296
|
+
if ((0, node_fs_1.existsSync)(testFile)) {
|
|
297
|
+
(0, node_fs_1.unlinkSync)(testFile);
|
|
298
298
|
}
|
|
299
299
|
}
|
|
300
300
|
}
|
|
301
301
|
async testPrisma(modelsDir) {
|
|
302
302
|
console.log('Running prisma generate...');
|
|
303
|
-
const schemaPath = (0,
|
|
304
|
-
if (!(0,
|
|
303
|
+
const schemaPath = (0, node_path_1.join)(modelsDir, 'schema.prisma');
|
|
304
|
+
if (!(0, node_fs_1.existsSync)(schemaPath)) {
|
|
305
305
|
throw new Error(`schema.prisma not found in ${modelsDir}`);
|
|
306
306
|
}
|
|
307
307
|
try {
|
|
308
|
-
(0,
|
|
308
|
+
(0, node_child_process_1.execSync)(`npx prisma generate --schema="${schemaPath}"`, { stdio: 'inherit' });
|
|
309
309
|
}
|
|
310
310
|
catch (e) {
|
|
311
311
|
console.error('Failed to generate prisma client');
|
|
312
312
|
throw e;
|
|
313
313
|
}
|
|
314
|
-
const testFile = (0,
|
|
314
|
+
const testFile = (0, node_path_1.join)(modelsDir, 'test-prisma-models.ts');
|
|
315
315
|
const script = `
|
|
316
316
|
import { PrismaClient } from '@prisma/client';
|
|
317
317
|
|
|
@@ -321,20 +321,20 @@ async function run() {
|
|
|
321
321
|
try {
|
|
322
322
|
await prisma.$connect();
|
|
323
323
|
console.log('Connected to database via Prisma');
|
|
324
|
-
|
|
324
|
+
|
|
325
325
|
// Get all model names from Prisma Client internals (dmmf)
|
|
326
326
|
// Accessing internal property _dmmf
|
|
327
327
|
// @ts-ignore
|
|
328
328
|
const models = prisma._dmmf.datamodel.models;
|
|
329
|
-
|
|
329
|
+
|
|
330
330
|
for (const model of models) {
|
|
331
331
|
const modelName = model.name;
|
|
332
332
|
console.log(\`Testing model: \${modelName}\`);
|
|
333
|
-
|
|
333
|
+
|
|
334
334
|
try {
|
|
335
335
|
// @ts-ignore
|
|
336
336
|
const delegate = prisma[modelName.toLowerCase()]; // Prisma client uses lowercase or camelCase? Usually lowerCamelCase
|
|
337
|
-
|
|
337
|
+
|
|
338
338
|
if (!delegate) {
|
|
339
339
|
// Try exact name if needed
|
|
340
340
|
// @ts-ignore
|
|
@@ -344,7 +344,7 @@ async function run() {
|
|
|
344
344
|
if (delegate) {
|
|
345
345
|
const count = await delegate.count();
|
|
346
346
|
console.log(\`✅ \${modelName}: Count query successful (Rows: \${count})\`);
|
|
347
|
-
|
|
347
|
+
|
|
348
348
|
const item = await delegate.findFirst();
|
|
349
349
|
if (item) {
|
|
350
350
|
console.log(\` Sample data: \${JSON.stringify(item)}\`);
|
|
@@ -367,14 +367,14 @@ async function run() {
|
|
|
367
367
|
|
|
368
368
|
run();
|
|
369
369
|
`;
|
|
370
|
-
(0,
|
|
370
|
+
(0, node_fs_1.writeFileSync)(testFile, script);
|
|
371
371
|
console.log(`Running test script: ${testFile}`);
|
|
372
372
|
try {
|
|
373
|
-
(0,
|
|
373
|
+
(0, node_child_process_1.execSync)(`npx ts-node "${testFile}"`, { stdio: 'inherit' });
|
|
374
374
|
}
|
|
375
375
|
finally {
|
|
376
|
-
if ((0,
|
|
377
|
-
(0,
|
|
376
|
+
if ((0, node_fs_1.existsSync)(testFile)) {
|
|
377
|
+
(0, node_fs_1.unlinkSync)(testFile);
|
|
378
378
|
}
|
|
379
379
|
}
|
|
380
380
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelTester.js","sourceRoot":"","sources":["../../src/testing/ModelTester.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"ModelTester.js","sourceRoot":"","sources":["../../src/testing/ModelTester.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SequelizeRunner.d.ts","sourceRoot":"","sources":["../../../src/testing/runners/SequelizeRunner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SequelizeRunner.d.ts","sourceRoot":"","sources":["../../../src/testing/runners/SequelizeRunner.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,qBAAa,eAAgB,YAAW,eAAe;IACrD,OAAO,CAAC,OAAO,CAAC,CAAS;gBAEb,OAAO,CAAC,EAAE,MAAM;IAItB,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAkExE"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SequelizeRunner = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const node_path_1 = require("node:path");
|
|
5
|
+
const node_fs_1 = require("node:fs");
|
|
6
|
+
const node_module_1 = require("node:module");
|
|
7
|
+
const localRequire = (0, node_module_1.createRequire)(__filename);
|
|
6
8
|
class SequelizeRunner {
|
|
7
9
|
ormPath;
|
|
8
10
|
constructor(ormPath) {
|
|
@@ -14,19 +16,19 @@ class SequelizeRunner {
|
|
|
14
16
|
try {
|
|
15
17
|
let sequelizePkg;
|
|
16
18
|
if (this.ormPath) {
|
|
17
|
-
sequelizePkg =
|
|
19
|
+
sequelizePkg = localRequire(this.ormPath);
|
|
18
20
|
}
|
|
19
21
|
else {
|
|
20
22
|
try {
|
|
21
|
-
sequelizePkg =
|
|
23
|
+
sequelizePkg = localRequire((0, node_path_1.join)(cwd, 'node_modules', 'sequelize'));
|
|
22
24
|
}
|
|
23
25
|
catch {
|
|
24
|
-
sequelizePkg =
|
|
26
|
+
sequelizePkg = localRequire('sequelize');
|
|
25
27
|
}
|
|
26
28
|
}
|
|
27
29
|
SequelizeClass = sequelizePkg.Sequelize;
|
|
28
30
|
}
|
|
29
|
-
catch
|
|
31
|
+
catch {
|
|
30
32
|
throw new Error('Sequelize not found. Please install sequelize in your project to run tests.');
|
|
31
33
|
}
|
|
32
34
|
const sequelize = new SequelizeClass(config.database, config.username, config.password, {
|
|
@@ -52,13 +54,13 @@ class SequelizeRunner {
|
|
|
52
54
|
try {
|
|
53
55
|
await sequelize.authenticate();
|
|
54
56
|
const queryInterface = sequelize.getQueryInterface();
|
|
55
|
-
const files = (0,
|
|
57
|
+
const files = (0, node_fs_1.readdirSync)(migrationsDir)
|
|
56
58
|
.filter((f) => f.endsWith('.js') && !f.endsWith('.d.ts'))
|
|
57
59
|
.sort();
|
|
58
60
|
for (const file of files) {
|
|
59
61
|
console.log(`Running migration: ${file}`);
|
|
60
|
-
const migrationPath = (0,
|
|
61
|
-
const migration =
|
|
62
|
+
const migrationPath = (0, node_path_1.join)(migrationsDir, file);
|
|
63
|
+
const migration = localRequire(migrationPath);
|
|
62
64
|
await migration.up(queryInterface, SequelizeClass);
|
|
63
65
|
}
|
|
64
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SequelizeRunner.js","sourceRoot":"","sources":["../../../src/testing/runners/SequelizeRunner.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"SequelizeRunner.js","sourceRoot":"","sources":["../../../src/testing/runners/SequelizeRunner.ts"],"names":[],"mappings":";;;AAAA,yCAAiC;AACjC,qCAAsC;AACtC,6CAA4C;AAI5C,MAAM,YAAY,GAAG,IAAA,2BAAa,EAAC,UAAU,CAAC,CAAC;AAE/C,MAAa,eAAe;IAClB,OAAO,CAAU;IAEzB,YAAY,OAAgB;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,aAAqB,EAAE,MAAsB;QACrD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,IAAI,cAAc,CAAC;QAEnB,IAAI,CAAC;YACH,IAAI,YAAY,CAAC;YACjB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAEjB,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBAEN,IAAI,CAAC;oBACH,YAAY,GAAG,YAAY,CAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;gBACtE,CAAC;gBAAC,MAAM,CAAC;oBAEP,YAAY,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;YACD,cAAc,GAAG,YAAY,CAAC,SAAS,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,QAAS,EAAE,MAAM,CAAC,QAAS,EAAE,MAAM,CAAC,QAAS,EAAE;YACzF,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EACL,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO;YACvF,OAAO,EAAE,KAAK;YACd,cAAc,EAAE;gBACd,OAAO,EAAE;oBACP,OAAO,EAAE,KAAK;oBACd,sBAAsB,EAAE,IAAI;iBAC7B;gBACD,GAAG,CAAC,MAAM,CAAC,GAAG;oBACZ,CAAC,CAAC;wBACE,GAAG,EAAE;4BACH,OAAO,EAAE,IAAI;4BACb,kBAAkB,EAAE,KAAK;yBAC1B;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;aACR;SACF,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,YAAY,EAAE,CAAC;YAC/B,MAAM,cAAc,GAAG,SAAS,CAAC,iBAAiB,EAAE,CAAC;YAErD,MAAM,KAAK,GAAG,IAAA,qBAAW,EAAC,aAAa,CAAC;iBACrC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;iBACxD,IAAI,EAAE,CAAC;YAEV,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;gBAC1C,MAAM,aAAa,GAAG,IAAA,gBAAI,EAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAChD,MAAM,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;gBAE9C,MAAM,SAAS,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;CACF;AAzED,0CAyEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeORMRunner.d.ts","sourceRoot":"","sources":["../../../src/testing/runners/TypeORMRunner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TypeORMRunner.d.ts","sourceRoot":"","sources":["../../../src/testing/runners/TypeORMRunner.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,qBAAa,aAAc,YAAW,eAAe;IACnD,OAAO,CAAC,OAAO,CAAC,CAAS;gBAEb,OAAO,CAAC,EAAE,MAAM;IAItB,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CA2FxE"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TypeORMRunner = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const node_path_1 = require("node:path");
|
|
5
|
+
const node_fs_1 = require("node:fs");
|
|
6
|
+
const node_module_1 = require("node:module");
|
|
7
|
+
const localRequire = (0, node_module_1.createRequire)(__filename);
|
|
6
8
|
class TypeORMRunner {
|
|
7
9
|
ormPath;
|
|
8
10
|
constructor(ormPath) {
|
|
@@ -14,30 +16,30 @@ class TypeORMRunner {
|
|
|
14
16
|
try {
|
|
15
17
|
let typeormPkg;
|
|
16
18
|
if (this.ormPath) {
|
|
17
|
-
typeormPkg =
|
|
19
|
+
typeormPkg = localRequire(this.ormPath);
|
|
18
20
|
}
|
|
19
21
|
else {
|
|
20
22
|
try {
|
|
21
|
-
typeormPkg =
|
|
23
|
+
typeormPkg = localRequire((0, node_path_1.join)(cwd, 'node_modules', 'typeorm'));
|
|
22
24
|
}
|
|
23
25
|
catch {
|
|
24
|
-
typeormPkg =
|
|
26
|
+
typeormPkg = localRequire('typeorm');
|
|
25
27
|
}
|
|
26
28
|
}
|
|
27
29
|
DataSourceClass = typeormPkg.DataSource;
|
|
28
30
|
}
|
|
29
|
-
catch
|
|
31
|
+
catch {
|
|
30
32
|
throw new Error('TypeORM not found. Please install typeorm in your project to run tests.');
|
|
31
33
|
}
|
|
32
34
|
try {
|
|
33
|
-
|
|
35
|
+
localRequire((0, node_path_1.join)(cwd, 'node_modules', 'ts-node')).register({
|
|
34
36
|
transpileOnly: true,
|
|
35
37
|
compilerOptions: {
|
|
36
38
|
module: 'commonjs',
|
|
37
39
|
},
|
|
38
40
|
});
|
|
39
41
|
}
|
|
40
|
-
catch
|
|
42
|
+
catch {
|
|
41
43
|
console.warn('ts-node not found. If your migrations are in TypeScript, they might fail to load.');
|
|
42
44
|
}
|
|
43
45
|
const dataSource = new DataSourceClass({
|
|
@@ -58,7 +60,7 @@ class TypeORMRunner {
|
|
|
58
60
|
await dataSource.initialize();
|
|
59
61
|
const queryRunner = dataSource.createQueryRunner();
|
|
60
62
|
await queryRunner.connect();
|
|
61
|
-
const files = (0,
|
|
63
|
+
const files = (0, node_fs_1.readdirSync)(migrationsDir)
|
|
62
64
|
.filter((f) => f.endsWith('.ts') || f.endsWith('.js'))
|
|
63
65
|
.sort((a, b) => {
|
|
64
66
|
const timeA = parseInt(a.split('-')[0]);
|
|
@@ -67,8 +69,8 @@ class TypeORMRunner {
|
|
|
67
69
|
});
|
|
68
70
|
for (const file of files) {
|
|
69
71
|
console.log(`Running migration: ${file}`);
|
|
70
|
-
const migrationPath = (0,
|
|
71
|
-
const migrationModule =
|
|
72
|
+
const migrationPath = (0, node_path_1.join)(migrationsDir, file);
|
|
73
|
+
const migrationModule = localRequire(migrationPath);
|
|
72
74
|
const keys = Object.keys(migrationModule);
|
|
73
75
|
const MigrationClass = migrationModule[keys[0]];
|
|
74
76
|
if (typeof MigrationClass === 'function') {
|