@studiosonrai/nestjs-migrations 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/migration-core.d.ts +2 -0
- package/dist/src/migration-core.js +30 -20
- package/dist/src/migration-core.js.map +1 -1
- package/dist/src/migration-core.spec.js +132 -13
- package/dist/src/migration-core.spec.js.map +1 -1
- package/dist/src/migration.module.js.map +1 -1
- package/dist/src/migration.service.js +1 -0
- package/dist/src/migration.service.js.map +1 -1
- package/dist/src/migration.service.spec.js +136 -19
- package/dist/src/migration.service.spec.js.map +1 -1
- package/dist/src/types.d.ts +2 -0
- package/dist/src/types.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/bin/cli.d.ts +0 -2
- package/dist/bin/cli.js +0 -273
- package/dist/bin/cli.js.map +0 -1
|
@@ -47,10 +47,11 @@ describe('MigrationService Integration (Real DB)', () => {
|
|
|
47
47
|
let dataSource;
|
|
48
48
|
let tempDir;
|
|
49
49
|
const MIGRATION_TABLE = 'migrations_service_test';
|
|
50
|
-
const mockOptions = (dir) => ({
|
|
50
|
+
const mockOptions = (dir, schema = 'dbo') => ({
|
|
51
51
|
migrationsDir: dir,
|
|
52
52
|
autoRun: true,
|
|
53
53
|
verbose: false,
|
|
54
|
+
schema,
|
|
54
55
|
});
|
|
55
56
|
beforeAll(async () => {
|
|
56
57
|
dataSource = new typeorm_1.DataSource({
|
|
@@ -71,7 +72,7 @@ describe('MigrationService Integration (Real DB)', () => {
|
|
|
71
72
|
});
|
|
72
73
|
afterAll(async () => {
|
|
73
74
|
if (dataSource?.isInitialized) {
|
|
74
|
-
await dataSource.query(`IF OBJECT_ID('
|
|
75
|
+
await dataSource.query(`IF OBJECT_ID('dbo.${MIGRATION_TABLE}', 'U') IS NOT NULL DROP TABLE dbo.${MIGRATION_TABLE}`);
|
|
75
76
|
await dataSource.destroy();
|
|
76
77
|
}
|
|
77
78
|
if (tempDir && fs.existsSync(tempDir)) {
|
|
@@ -81,13 +82,13 @@ describe('MigrationService Integration (Real DB)', () => {
|
|
|
81
82
|
beforeEach(async () => {
|
|
82
83
|
if (!dataSource?.isInitialized)
|
|
83
84
|
return;
|
|
84
|
-
await dataSource.query(`IF OBJECT_ID('
|
|
85
|
+
await dataSource.query(`IF OBJECT_ID('dbo.${MIGRATION_TABLE}', 'U') IS NOT NULL DELETE FROM dbo.${MIGRATION_TABLE}`);
|
|
85
86
|
const objectsToDrop = [
|
|
86
|
-
{ name: 'ServiceTest', type: 'U' },
|
|
87
|
-
{ name: 'NoAutoTable', type: 'U' },
|
|
88
|
-
{ name: 'ManualTable', type: 'U' },
|
|
89
|
-
{ name: 'ManualView', type: 'V' },
|
|
90
|
-
{ name: 'StatusTable', type: 'U' }
|
|
87
|
+
{ name: 'dbo.ServiceTest', type: 'U' },
|
|
88
|
+
{ name: 'dbo.NoAutoTable', type: 'U' },
|
|
89
|
+
{ name: 'dbo.ManualTable', type: 'U' },
|
|
90
|
+
{ name: 'dbo.ManualView', type: 'V' },
|
|
91
|
+
{ name: 'dbo.StatusTable', type: 'U' }
|
|
91
92
|
];
|
|
92
93
|
for (const obj of objectsToDrop) {
|
|
93
94
|
await dataSource.query(`IF OBJECT_ID('${obj.name}', '${obj.type}') IS NOT NULL ${obj.type === 'V' ? 'DROP VIEW' : 'DROP TABLE'} ${obj.name}`);
|
|
@@ -123,14 +124,14 @@ describe('MigrationService Integration (Real DB)', () => {
|
|
|
123
124
|
it('should run migrations automatically when autoRun is true', async () => {
|
|
124
125
|
if (!dataSource?.isInitialized)
|
|
125
126
|
return;
|
|
126
|
-
createMigrationFile('V1__Init.sql', 'CREATE TABLE ServiceTest (Id INT);');
|
|
127
|
+
createMigrationFile('V1__Init.sql', 'CREATE TABLE dbo.ServiceTest (Id INT);');
|
|
127
128
|
try {
|
|
128
129
|
await service.onModuleInit();
|
|
129
|
-
const tableExists = await dataSource.query("SELECT
|
|
130
|
-
expect(tableExists.
|
|
130
|
+
const tableExists = await dataSource.query("SELECT COUNT(*) as count FROM sys.tables WHERE name='ServiceTest' AND schema_id = SCHEMA_ID('dbo')");
|
|
131
|
+
expect(tableExists[0].count).toBe(1);
|
|
131
132
|
}
|
|
132
133
|
finally {
|
|
133
|
-
await dataSource.query("IF OBJECT_ID('ServiceTest', 'U') IS NOT NULL DROP TABLE ServiceTest");
|
|
134
|
+
await dataSource.query("IF OBJECT_ID('dbo.ServiceTest', 'U') IS NOT NULL DROP TABLE dbo.ServiceTest");
|
|
134
135
|
}
|
|
135
136
|
});
|
|
136
137
|
it('should not run migrations when autoRun is false', async () => {
|
|
@@ -150,18 +151,18 @@ describe('MigrationService Integration (Real DB)', () => {
|
|
|
150
151
|
],
|
|
151
152
|
}).compile();
|
|
152
153
|
const serviceNoAuto = module.get(migration_service_1.MigrationService);
|
|
153
|
-
createMigrationFile('V1__NoAuto.sql', 'CREATE TABLE NoAutoTable (Id INT);');
|
|
154
|
+
createMigrationFile('V1__NoAuto.sql', 'CREATE TABLE dbo.NoAutoTable (Id INT);');
|
|
154
155
|
await serviceNoAuto.onModuleInit();
|
|
155
|
-
const tableExists = await dataSource.query("SELECT
|
|
156
|
-
expect(tableExists.
|
|
156
|
+
const tableExists = await dataSource.query("SELECT COUNT(*) as count FROM sys.tables WHERE name='NoAutoTable' AND schema_id = SCHEMA_ID('dbo')");
|
|
157
|
+
expect(tableExists[0].count).toBe(0);
|
|
157
158
|
});
|
|
158
159
|
});
|
|
159
160
|
describe('runMigrations', () => {
|
|
160
161
|
it('should apply pending migrations and return result', async () => {
|
|
161
162
|
if (!dataSource?.isInitialized)
|
|
162
163
|
return;
|
|
163
|
-
createMigrationFile('V1__Manual.sql', 'CREATE TABLE ManualTable (Id INT);');
|
|
164
|
-
createMigrationFile('R__View.sql', 'CREATE VIEW ManualView AS SELECT 1 as val;');
|
|
164
|
+
createMigrationFile('V1__Manual.sql', 'CREATE TABLE dbo.ManualTable (Id INT);');
|
|
165
|
+
createMigrationFile('R__View.sql', 'CREATE VIEW dbo.ManualView AS SELECT 1 as val;');
|
|
165
166
|
try {
|
|
166
167
|
const result = await service.runMigrations();
|
|
167
168
|
expect(result.success).toBe(true);
|
|
@@ -169,8 +170,8 @@ describe('MigrationService Integration (Real DB)', () => {
|
|
|
169
170
|
expect(result.rerunnableMigrations).toBe(1);
|
|
170
171
|
}
|
|
171
172
|
finally {
|
|
172
|
-
await dataSource.query("IF OBJECT_ID('ManualView', 'V') IS NOT NULL DROP VIEW ManualView");
|
|
173
|
-
await dataSource.query("IF OBJECT_ID('ManualTable', 'U') IS NOT NULL DROP TABLE ManualTable");
|
|
173
|
+
await dataSource.query("IF OBJECT_ID('dbo.ManualView', 'V') IS NOT NULL DROP VIEW dbo.ManualView");
|
|
174
|
+
await dataSource.query("IF OBJECT_ID('dbo.ManualTable', 'U') IS NOT NULL DROP TABLE dbo.ManualTable");
|
|
174
175
|
}
|
|
175
176
|
});
|
|
176
177
|
});
|
|
@@ -186,5 +187,121 @@ describe('MigrationService Integration (Real DB)', () => {
|
|
|
186
187
|
expect(status.pending).toBe(0);
|
|
187
188
|
});
|
|
188
189
|
});
|
|
190
|
+
describe('Schema Support', () => {
|
|
191
|
+
let testSchema;
|
|
192
|
+
let schemaTempDir;
|
|
193
|
+
beforeEach(async () => {
|
|
194
|
+
testSchema = 'svc_schema_' + Date.now();
|
|
195
|
+
schemaTempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'svc-schema-test-'));
|
|
196
|
+
try {
|
|
197
|
+
await dataSource.query(`IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = '${testSchema}') EXEC('CREATE SCHEMA ${testSchema}');`);
|
|
198
|
+
}
|
|
199
|
+
catch (e) {
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
afterEach(async () => {
|
|
203
|
+
if (dataSource?.isInitialized && testSchema) {
|
|
204
|
+
try {
|
|
205
|
+
await dataSource.query(`IF OBJECT_ID('${testSchema}.migrations_service_test', 'U') IS NOT NULL DROP TABLE ${testSchema}.migrations_service_test`);
|
|
206
|
+
await dataSource.query(`DROP SCHEMA ${testSchema}`);
|
|
207
|
+
}
|
|
208
|
+
catch (e) {
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
if (schemaTempDir && fs.existsSync(schemaTempDir)) {
|
|
212
|
+
fs.rmSync(schemaTempDir, { recursive: true, force: true });
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
it('should use dbo schema by default', async () => {
|
|
216
|
+
if (!dataSource?.isInitialized)
|
|
217
|
+
return;
|
|
218
|
+
const schema = service.migrationCore.schema ?? 'dbo';
|
|
219
|
+
expect(schema).toBe('dbo');
|
|
220
|
+
});
|
|
221
|
+
it('should accept and use custom schema from options', async () => {
|
|
222
|
+
if (!dataSource?.isInitialized)
|
|
223
|
+
return;
|
|
224
|
+
const module = await testing_1.Test.createTestingModule({
|
|
225
|
+
providers: [
|
|
226
|
+
migration_service_1.MigrationService,
|
|
227
|
+
{
|
|
228
|
+
provide: types_1.MIGRATION_MODULE_OPTIONS,
|
|
229
|
+
useValue: {
|
|
230
|
+
...mockOptions(schemaTempDir, testSchema),
|
|
231
|
+
tableName: 'migrations_service_test',
|
|
232
|
+
},
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
provide: typeorm_1.DataSource,
|
|
236
|
+
useValue: dataSource,
|
|
237
|
+
},
|
|
238
|
+
],
|
|
239
|
+
}).compile();
|
|
240
|
+
const schemaService = module.get(migration_service_1.MigrationService);
|
|
241
|
+
const schema = schemaService.migrationCore.schema;
|
|
242
|
+
expect(schema).toBe(testSchema);
|
|
243
|
+
});
|
|
244
|
+
it('should create migration table in custom schema', async () => {
|
|
245
|
+
if (!dataSource?.isInitialized)
|
|
246
|
+
return;
|
|
247
|
+
const module = await testing_1.Test.createTestingModule({
|
|
248
|
+
providers: [
|
|
249
|
+
migration_service_1.MigrationService,
|
|
250
|
+
{
|
|
251
|
+
provide: types_1.MIGRATION_MODULE_OPTIONS,
|
|
252
|
+
useValue: {
|
|
253
|
+
...mockOptions(schemaTempDir, testSchema),
|
|
254
|
+
tableName: 'migrations_service_test',
|
|
255
|
+
autoRun: false,
|
|
256
|
+
},
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
provide: typeorm_1.DataSource,
|
|
260
|
+
useValue: dataSource,
|
|
261
|
+
},
|
|
262
|
+
],
|
|
263
|
+
}).compile();
|
|
264
|
+
const schemaService = module.get(migration_service_1.MigrationService);
|
|
265
|
+
fs.writeFileSync(path.join(schemaTempDir, 'V1__SchemaTest.sql'), 'SELECT 1;');
|
|
266
|
+
await schemaService.runMigrations();
|
|
267
|
+
const tableExists = await dataSource.query(`
|
|
268
|
+
SELECT COUNT(*) as count FROM sys.tables
|
|
269
|
+
WHERE name='migrations_service_test' AND schema_id = SCHEMA_ID('${testSchema}')
|
|
270
|
+
`);
|
|
271
|
+
expect(tableExists[0].count).toBe(1);
|
|
272
|
+
});
|
|
273
|
+
it('should log schema name in verbose mode', async () => {
|
|
274
|
+
if (!dataSource?.isInitialized)
|
|
275
|
+
return;
|
|
276
|
+
const module = await testing_1.Test.createTestingModule({
|
|
277
|
+
providers: [
|
|
278
|
+
migration_service_1.MigrationService,
|
|
279
|
+
{
|
|
280
|
+
provide: types_1.MIGRATION_MODULE_OPTIONS,
|
|
281
|
+
useValue: {
|
|
282
|
+
...mockOptions(schemaTempDir, testSchema),
|
|
283
|
+
tableName: 'migrations_service_test',
|
|
284
|
+
autoRun: false,
|
|
285
|
+
},
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
provide: typeorm_1.DataSource,
|
|
289
|
+
useValue: dataSource,
|
|
290
|
+
},
|
|
291
|
+
],
|
|
292
|
+
}).compile();
|
|
293
|
+
const schemaService = module.get(migration_service_1.MigrationService);
|
|
294
|
+
fs.writeFileSync(path.join(schemaTempDir, 'V1__LogTest.sql'), 'SELECT 1;');
|
|
295
|
+
const consoleSpy = jest.spyOn(console, 'log').mockImplementation();
|
|
296
|
+
try {
|
|
297
|
+
await schemaService.runMigrations({ verbose: true });
|
|
298
|
+
const output = consoleSpy.mock.calls.map((c) => c[0]).join('\n');
|
|
299
|
+
expect(output).toContain(`[${testSchema}]`);
|
|
300
|
+
}
|
|
301
|
+
finally {
|
|
302
|
+
consoleSpy.mockRestore();
|
|
303
|
+
}
|
|
304
|
+
});
|
|
305
|
+
});
|
|
189
306
|
});
|
|
190
307
|
//# sourceMappingURL=migration.service.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration.service.spec.js","sourceRoot":"","sources":["../../src/migration.service.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAsD;AACtD,qCAAqC;AACrC,2DAAuD;AACvD,mCAAmD;AACnD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,mCAAgC;AAGhC,IAAA,eAAM,GAAE,CAAC;AAET,QAAQ,CAAC,wCAAwC,EAAE,GAAG,EAAE;IACpD,IAAI,OAAyB,CAAC;IAC9B,IAAI,UAAsB,CAAC;IAC3B,IAAI,OAAe,CAAC;IACpB,MAAM,eAAe,GAAG,yBAAyB,CAAC;IAElD,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"migration.service.spec.js","sourceRoot":"","sources":["../../src/migration.service.spec.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export interface MigrationModuleOptions {
|
|
|
4
4
|
autoRun?: boolean;
|
|
5
5
|
verbose?: boolean;
|
|
6
6
|
tableName?: string;
|
|
7
|
+
schema?: string;
|
|
7
8
|
}
|
|
8
9
|
export interface MigrationModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
|
|
9
10
|
useFactory: (...args: any[]) => Promise<MigrationModuleOptions> | MigrationModuleOptions;
|
|
@@ -31,6 +32,7 @@ export interface MigrationRunOptions {
|
|
|
31
32
|
export interface MigrationCoreOptions {
|
|
32
33
|
migrationsDir: string;
|
|
33
34
|
tableName?: string;
|
|
35
|
+
schema?: string;
|
|
34
36
|
}
|
|
35
37
|
export declare const MIGRATION_MODULE_OPTIONS: unique symbol;
|
|
36
38
|
export interface AppliedMigration {
|
package/dist/src/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAsIa,QAAA,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAyB3E,MAAa,iBAAkB,SAAQ,KAAK;IAExB;IACA;IACA;IAHlB,YACkB,aAAqB,EACrB,YAAoB,EACpB,UAAkB;QAElC,KAAK,CACH,mBAAmB,aAAa,4CAA4C;YAC5E,oBAAoB,YAAY,IAAI;YACpC,oBAAoB,UAAU,IAAI;YAClC,qFAAqF,CACtF,CAAC;QATc,kBAAa,GAAb,aAAa,CAAQ;QACrB,iBAAY,GAAZ,YAAY,CAAQ;QACpB,eAAU,GAAV,UAAU,CAAQ;QAQlC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAdD,8CAcC"}
|