@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.
@@ -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('${MIGRATION_TABLE}', 'U') IS NOT NULL DROP TABLE ${MIGRATION_TABLE}`);
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('${MIGRATION_TABLE}', 'U') IS NOT NULL DELETE FROM ${MIGRATION_TABLE}`);
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 1 FROM sysobjects WHERE name='ServiceTest' AND xtype='U'");
130
- expect(tableExists.length).toBe(1);
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 1 FROM sysobjects WHERE name='NoAutoTable' AND xtype='U'");
156
- expect(tableExists.length).toBe(0);
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":"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"}
1
+ {"version":3,"file":"migration.service.spec.js","sourceRoot":"","sources":["../../src/migration.service.spec.ts"],"names":[],"mappings":"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"}
@@ -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 {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AA2Ha,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"}
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"}