@studiosonrai/nestjs-migrations 1.1.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.
@@ -3,7 +3,10 @@ import { MigrationCoreOptions, MigrationResult, MigrationRunOptions, AppliedMigr
3
3
  export declare class MigrationCore {
4
4
  private readonly dataSource;
5
5
  private readonly migrationsDir;
6
+ private readonly tableName;
7
+ private readonly schema;
6
8
  constructor(dataSource: DataSource, options: MigrationCoreOptions);
9
+ private getQualifiedTableName;
7
10
  ensureMigrationsTable(): Promise<void>;
8
11
  calculateFileHash(filePath: string): string;
9
12
  getAppliedMigrationNames(): Promise<string[]>;
@@ -11,13 +14,16 @@ export declare class MigrationCore {
11
14
  verifyMigrationHashes(): Promise<void>;
12
15
  getMigrationFiles(): Promise<string[]>;
13
16
  runSingleMigration(file: string, queryRunner: QueryRunner): Promise<void>;
17
+ private recordMigration;
14
18
  runMigrations(options?: MigrationRunOptions): Promise<MigrationResult>;
15
19
  getPendingMigrations(): Promise<string[]>;
16
20
  getStatus(): Promise<{
17
21
  total: number;
18
22
  applied: number;
19
23
  pending: number;
24
+ rerunnable: number;
20
25
  pendingFiles: string[];
26
+ rerunnableFiles: string[];
21
27
  hashMismatches: Array<{
22
28
  name: string;
23
29
  expectedHash: string;
@@ -25,4 +31,6 @@ export declare class MigrationCore {
25
31
  }>;
26
32
  missingFiles: string[];
27
33
  }>;
34
+ private runPendingVersionedMigrations;
35
+ private runRerunnableScripts;
28
36
  }
@@ -38,23 +38,39 @@ const fs = __importStar(require("fs"));
38
38
  const path = __importStar(require("path"));
39
39
  const crypto = __importStar(require("crypto"));
40
40
  const types_1 = require("./types");
41
- const MIGRATION_TABLE = 'migrations';
41
+ const DEFAULT_MIGRATION_TABLE = 'migrations';
42
42
  class MigrationCore {
43
43
  dataSource;
44
44
  migrationsDir;
45
+ tableName;
46
+ schema;
45
47
  constructor(dataSource, options) {
46
48
  this.dataSource = dataSource;
47
49
  this.migrationsDir = options.migrationsDir;
50
+ const rawTableName = options.tableName || DEFAULT_MIGRATION_TABLE;
51
+ if (!/^[a-zA-Z0-9_]+$/.test(rawTableName)) {
52
+ throw new Error(`Invalid tableName "${rawTableName}": only alphanumeric characters and underscores are allowed.`);
53
+ }
54
+ this.tableName = rawTableName;
55
+ const rawSchema = options.schema || 'dbo';
56
+ if (!/^[a-zA-Z0-9_]+$/.test(rawSchema)) {
57
+ throw new Error(`Invalid schema "${rawSchema}": only alphanumeric characters and underscores are allowed.`);
58
+ }
59
+ this.schema = rawSchema;
60
+ }
61
+ getQualifiedTableName() {
62
+ return `${this.schema}.${this.tableName}`;
48
63
  }
49
64
  async ensureMigrationsTable() {
50
65
  const tableExists = await this.dataSource.query(`
51
- SELECT COUNT(*) as count FROM sysobjects WHERE name='${MIGRATION_TABLE}' AND xtype='U'
66
+ SELECT COUNT(*) as count FROM sys.tables
67
+ WHERE name='${this.tableName}' AND schema_id = SCHEMA_ID('${this.schema}')
52
68
  `);
53
69
  if (tableExists[0].count === 0) {
54
70
  await this.dataSource.query(`
55
- CREATE TABLE ${MIGRATION_TABLE} (
71
+ CREATE TABLE ${this.getQualifiedTableName()} (
56
72
  id INT IDENTITY(1,1) PRIMARY KEY,
57
- name NVARCHAR(255) UNIQUE NOT NULL,
73
+ name NVARCHAR(255) NOT NULL UNIQUE,
58
74
  content_hash NVARCHAR(64) NOT NULL,
59
75
  run_on DATETIME DEFAULT GETDATE() NOT NULL
60
76
  )
@@ -66,11 +82,11 @@ class MigrationCore {
66
82
  return crypto.createHash('sha256').update(content, 'utf8').digest('hex');
67
83
  }
68
84
  async getAppliedMigrationNames() {
69
- const rows = await this.dataSource.query(`SELECT name FROM ${MIGRATION_TABLE}`);
85
+ const rows = await this.dataSource.query(`SELECT name FROM ${this.getQualifiedTableName()}`);
70
86
  return rows.map((row) => row.name);
71
87
  }
72
88
  async getAppliedMigrations() {
73
- const rows = await this.dataSource.query(`SELECT name, content_hash, run_on FROM ${MIGRATION_TABLE}`);
89
+ const rows = await this.dataSource.query(`SELECT name, content_hash, run_on FROM ${this.getQualifiedTableName()}`);
74
90
  return rows;
75
91
  }
76
92
  async verifyMigrationHashes() {
@@ -85,7 +101,9 @@ class MigrationCore {
85
101
  }
86
102
  const currentHash = this.calculateFileHash(filePath);
87
103
  if (currentHash !== migration.content_hash) {
88
- throw new types_1.HashMismatchError(migration.name, migration.content_hash, currentHash);
104
+ if (!migration.name.startsWith('R__')) {
105
+ throw new types_1.HashMismatchError(migration.name, migration.content_hash, currentHash);
106
+ }
89
107
  }
90
108
  }
91
109
  }
@@ -101,7 +119,6 @@ class MigrationCore {
101
119
  async runSingleMigration(file, queryRunner) {
102
120
  const filePath = path.join(this.migrationsDir, file);
103
121
  const sql = fs.readFileSync(filePath, 'utf8');
104
- const contentHash = this.calculateFileHash(filePath);
105
122
  const batches = sql
106
123
  .split(/^\s*GO\s*$/im)
107
124
  .map((batch) => batch.trim())
@@ -109,7 +126,22 @@ class MigrationCore {
109
126
  for (const batch of batches) {
110
127
  await queryRunner.query(batch);
111
128
  }
112
- await queryRunner.query(`INSERT INTO ${MIGRATION_TABLE} (name, content_hash, run_on) VALUES (@0, @1, GETDATE())`, [file, contentHash]);
129
+ }
130
+ async recordMigration(file, contentHash, queryRunner, isRerunnable) {
131
+ if (isRerunnable) {
132
+ await queryRunner.query(`
133
+ MERGE INTO ${this.getQualifiedTableName()} AS target
134
+ USING (SELECT @0 AS name, @1 AS content_hash) AS source
135
+ ON (target.name = source.name)
136
+ WHEN MATCHED THEN
137
+ UPDATE SET content_hash = source.content_hash, run_on = GETDATE()
138
+ WHEN NOT MATCHED THEN
139
+ INSERT (name, content_hash, run_on) VALUES (source.name, source.content_hash, GETDATE());
140
+ `, [file, contentHash]);
141
+ }
142
+ else {
143
+ await queryRunner.query(`INSERT INTO ${this.getQualifiedTableName()} (name, content_hash, run_on) VALUES (@0, @1, GETDATE())`, [file, contentHash]);
144
+ }
113
145
  }
114
146
  async runMigrations(options) {
115
147
  const result = {
@@ -117,80 +149,62 @@ class MigrationCore {
117
149
  totalMigrations: 0,
118
150
  appliedMigrations: 0,
119
151
  pendingMigrations: 0,
152
+ rerunnableMigrations: 0,
120
153
  };
121
154
  try {
122
155
  await this.ensureMigrationsTable();
123
156
  if (options?.verbose) {
124
- console.log('Verifying integrity of applied migrations...');
157
+ console.log(`Verifying integrity of applied migrations in schema [${this.schema}]...`);
125
158
  }
126
159
  await this.verifyMigrationHashes();
127
160
  if (options?.verbose) {
128
161
  console.log('✓ All applied migrations have valid hashes');
129
162
  }
130
- const files = await this.getMigrationFiles();
131
- const appliedNames = await this.getAppliedMigrationNames();
132
- result.totalMigrations = files.length;
133
- result.appliedMigrations = appliedNames.length;
163
+ const allFiles = await this.getMigrationFiles();
164
+ const versionedFiles = allFiles.filter((f) => !f.startsWith('R__'));
165
+ const rerunnableFiles = allFiles.filter((f) => f.startsWith('R__'));
166
+ const appliedMigrationRecords = await this.getAppliedMigrations();
167
+ const appliedNames = appliedMigrationRecords.map((m) => m.name);
168
+ result.totalMigrations = allFiles.length;
169
+ result.appliedMigrations = versionedFiles.filter((f) => appliedNames.includes(f)).length;
134
170
  if (options?.verbose) {
135
- console.log(`Found ${files.length} migration files`);
136
- console.log(`${appliedNames.length} migrations already applied`);
171
+ console.log(`Found ${allFiles.length} migration files`);
172
+ console.log(`${result.appliedMigrations} versioned migrations already applied in schema [${this.schema}]`);
173
+ console.log(`Found ${rerunnableFiles.length} rerunnable scripts`);
137
174
  }
138
- const pendingMigrations = files.filter((file) => !appliedNames.includes(file));
139
- result.pendingMigrations = pendingMigrations.length;
140
- if (pendingMigrations.length === 0) {
175
+ const pendingVersioned = versionedFiles.filter((file) => !appliedNames.includes(file));
176
+ result.pendingMigrations = pendingVersioned.length;
177
+ const changedRerunnables = rerunnableFiles.filter((file) => {
178
+ const currentHash = this.calculateFileHash(path.join(this.migrationsDir, file));
179
+ const applied = appliedMigrationRecords.find((m) => m.name === file);
180
+ return !applied || applied.content_hash !== currentHash;
181
+ });
182
+ if (pendingVersioned.length === 0 && changedRerunnables.length === 0) {
141
183
  if (options?.verbose) {
142
- console.log('No pending migrations to apply');
184
+ console.log(`No migrations to apply in schema [${this.schema}]`);
143
185
  }
144
186
  result.success = true;
145
187
  return result;
146
188
  }
147
189
  if (options?.dryRun) {
148
190
  console.log('Dry run mode - would apply:');
149
- pendingMigrations.forEach((file) => console.log(` - ${file}`));
191
+ pendingVersioned.forEach((file) => console.log(` - ${file}`));
192
+ changedRerunnables.forEach((file) => console.log(` - ${file} (rerunnable)`));
150
193
  result.success = true;
151
194
  return result;
152
195
  }
153
- if (options?.verbose) {
154
- console.log(`Running ${pendingMigrations.length} pending migrations...`);
155
- }
156
- for (const file of pendingMigrations) {
157
- if (options?.verbose) {
158
- console.log(`Applying migration: ${file}`);
159
- }
160
- const queryRunner = this.dataSource.createQueryRunner();
161
- await queryRunner.connect();
162
- await queryRunner.startTransaction();
163
- try {
164
- await this.runSingleMigration(file, queryRunner);
165
- await queryRunner.commitTransaction();
166
- if (options?.verbose) {
167
- console.log(`✓ Applied migration: ${file}`);
168
- }
169
- }
170
- catch (error) {
171
- await queryRunner.rollbackTransaction();
172
- if (options?.verbose) {
173
- console.error(`Failed to apply migration ${file}:`, error);
174
- }
175
- result.failedMigration = file;
176
- result.error = error;
177
- throw error;
178
- }
179
- finally {
180
- await queryRunner.release();
181
- }
182
- }
196
+ await this.runPendingVersionedMigrations(pendingVersioned, result, options);
197
+ await this.runRerunnableScripts(rerunnableFiles, result, options);
183
198
  result.success = true;
184
- result.appliedMigrations += pendingMigrations.length;
185
199
  if (options?.verbose) {
186
- console.log('All migrations completed successfully!');
200
+ console.log(`All migrations completed successfully in schema [${this.schema}]!`);
187
201
  }
188
202
  return result;
189
203
  }
190
204
  catch (error) {
191
205
  result.error = error;
192
206
  if (options?.verbose) {
193
- console.error('Migration failed:', error);
207
+ console.error(`Migration failed in schema [${this.schema}]:`, error);
194
208
  }
195
209
  throw error;
196
210
  }
@@ -199,14 +213,16 @@ class MigrationCore {
199
213
  await this.ensureMigrationsTable();
200
214
  const files = await this.getMigrationFiles();
201
215
  const appliedNames = await this.getAppliedMigrationNames();
202
- return files.filter((file) => !appliedNames.includes(file));
216
+ return files.filter((file) => !file.startsWith('R__') && !appliedNames.includes(file));
203
217
  }
204
218
  async getStatus() {
205
219
  await this.ensureMigrationsTable();
206
- const files = await this.getMigrationFiles();
220
+ const allFiles = await this.getMigrationFiles();
221
+ const versionedFiles = allFiles.filter((f) => !f.startsWith('R__'));
222
+ const rerunnableFiles = allFiles.filter((f) => f.startsWith('R__'));
207
223
  const appliedMigrations = await this.getAppliedMigrations();
208
224
  const appliedNames = appliedMigrations.map((m) => m.name);
209
- const pendingFiles = files.filter((file) => !appliedNames.includes(file));
225
+ const pendingFiles = versionedFiles.filter((file) => !appliedNames.includes(file));
210
226
  const hashMismatches = [];
211
227
  const missingFiles = [];
212
228
  for (const migration of appliedMigrations) {
@@ -227,14 +243,103 @@ class MigrationCore {
227
243
  }
228
244
  }
229
245
  return {
230
- total: files.length,
231
- applied: appliedNames.length,
246
+ total: allFiles.length,
247
+ applied: versionedFiles.filter((f) => appliedNames.includes(f)).length,
232
248
  pending: pendingFiles.length,
249
+ rerunnable: rerunnableFiles.length,
233
250
  pendingFiles,
251
+ rerunnableFiles,
234
252
  hashMismatches,
235
253
  missingFiles,
236
254
  };
237
255
  }
256
+ async runPendingVersionedMigrations(pendingFiles, result, options) {
257
+ if (pendingFiles.length === 0)
258
+ return;
259
+ if (options?.verbose) {
260
+ console.log(`Running ${pendingFiles.length} pending versioned migrations in schema [${this.schema}]...`);
261
+ }
262
+ for (const file of pendingFiles) {
263
+ if (options?.verbose) {
264
+ console.log(`Applying migration: ${file} in schema [${this.schema}]`);
265
+ }
266
+ const queryRunner = this.dataSource.createQueryRunner();
267
+ const contentHash = this.calculateFileHash(path.join(this.migrationsDir, file));
268
+ await queryRunner.connect();
269
+ await queryRunner.startTransaction();
270
+ try {
271
+ await this.runSingleMigration(file, queryRunner);
272
+ await this.recordMigration(file, contentHash, queryRunner, false);
273
+ await queryRunner.commitTransaction();
274
+ result.appliedMigrations++;
275
+ if (options?.verbose) {
276
+ console.log(`✓ Applied migration: ${file} in schema [${this.schema}]`);
277
+ }
278
+ }
279
+ catch (error) {
280
+ if (queryRunner.isTransactionActive) {
281
+ await queryRunner.rollbackTransaction();
282
+ }
283
+ if (options?.verbose) {
284
+ console.error(`Failed to apply migration ${file} in schema [${this.schema}]:`, error);
285
+ }
286
+ result.failedMigration = file;
287
+ result.error = error;
288
+ throw error;
289
+ }
290
+ finally {
291
+ await queryRunner.release();
292
+ }
293
+ }
294
+ }
295
+ async runRerunnableScripts(rerunnableFiles, result, options) {
296
+ if (rerunnableFiles.length === 0)
297
+ return;
298
+ if (options?.verbose) {
299
+ console.log(`Checking ${rerunnableFiles.length} rerunnable scripts in schema [${this.schema}]...`);
300
+ }
301
+ const appliedMigrations = await this.getAppliedMigrations();
302
+ for (const file of rerunnableFiles) {
303
+ const contentHash = this.calculateFileHash(path.join(this.migrationsDir, file));
304
+ const applied = appliedMigrations.find((m) => m.name === file);
305
+ const isNewOrChanged = !applied || applied.content_hash !== contentHash;
306
+ if (!isNewOrChanged) {
307
+ if (options?.verbose) {
308
+ console.log(`✓ ${file} (no changes, skipping in schema [${this.schema}])`);
309
+ }
310
+ continue;
311
+ }
312
+ if (options?.verbose) {
313
+ console.log(`Running rerunnable script: ${file} in schema [${this.schema}]`);
314
+ }
315
+ const queryRunner = this.dataSource.createQueryRunner();
316
+ await queryRunner.connect();
317
+ await queryRunner.startTransaction();
318
+ try {
319
+ await this.runSingleMigration(file, queryRunner);
320
+ await this.recordMigration(file, contentHash, queryRunner, true);
321
+ await queryRunner.commitTransaction();
322
+ result.rerunnableMigrations++;
323
+ if (options?.verbose) {
324
+ console.log(`✓ Ran rerunnable script: ${file} in schema [${this.schema}]`);
325
+ }
326
+ }
327
+ catch (error) {
328
+ if (queryRunner.isTransactionActive) {
329
+ await queryRunner.rollbackTransaction();
330
+ }
331
+ if (options?.verbose) {
332
+ console.error(`Failed to run rerunnable script ${file} in schema [${this.schema}]:`, error);
333
+ }
334
+ result.failedMigration = file;
335
+ result.error = error;
336
+ throw error;
337
+ }
338
+ finally {
339
+ await queryRunner.release();
340
+ }
341
+ }
342
+ }
238
343
  }
239
344
  exports.MigrationCore = MigrationCore;
240
345
  //# sourceMappingURL=migration-core.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"migration-core.js","sourceRoot":"","sources":["../../src/migration-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migration-core.js","sourceRoot":"","sources":["../../src/migration-core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};