@veloxts/cli 0.3.6 → 0.4.1

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.
Files changed (139) hide show
  1. package/dist/cli.js +2 -0
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/generate.d.ts +17 -0
  4. package/dist/commands/generate.d.ts.map +1 -0
  5. package/dist/commands/generate.js +219 -0
  6. package/dist/commands/generate.js.map +1 -0
  7. package/dist/commands/migrate.d.ts +8 -3
  8. package/dist/commands/migrate.d.ts.map +1 -1
  9. package/dist/commands/migrate.js +17 -123
  10. package/dist/commands/migrate.js.map +1 -1
  11. package/dist/generators/base.d.ts +76 -0
  12. package/dist/generators/base.d.ts.map +1 -0
  13. package/dist/generators/base.js +271 -0
  14. package/dist/generators/base.js.map +1 -0
  15. package/dist/generators/generators/index.d.ts +17 -0
  16. package/dist/generators/generators/index.d.ts.map +1 -0
  17. package/dist/generators/generators/index.js +43 -0
  18. package/dist/generators/generators/index.js.map +1 -0
  19. package/dist/generators/generators/migration.d.ts +43 -0
  20. package/dist/generators/generators/migration.d.ts.map +1 -0
  21. package/dist/generators/generators/migration.js +121 -0
  22. package/dist/generators/generators/migration.js.map +1 -0
  23. package/dist/generators/generators/model.d.ts +38 -0
  24. package/dist/generators/generators/model.d.ts.map +1 -0
  25. package/dist/generators/generators/model.js +108 -0
  26. package/dist/generators/generators/model.js.map +1 -0
  27. package/dist/generators/generators/procedure.d.ts +37 -0
  28. package/dist/generators/generators/procedure.d.ts.map +1 -0
  29. package/dist/generators/generators/procedure.js +99 -0
  30. package/dist/generators/generators/procedure.js.map +1 -0
  31. package/dist/generators/generators/resource.d.ts +29 -0
  32. package/dist/generators/generators/resource.d.ts.map +1 -0
  33. package/dist/generators/generators/resource.js +124 -0
  34. package/dist/generators/generators/resource.js.map +1 -0
  35. package/dist/generators/generators/schema.d.ts +28 -0
  36. package/dist/generators/generators/schema.d.ts.map +1 -0
  37. package/dist/generators/generators/schema.js +83 -0
  38. package/dist/generators/generators/schema.js.map +1 -0
  39. package/dist/generators/generators/test.d.ts +28 -0
  40. package/dist/generators/generators/test.d.ts.map +1 -0
  41. package/dist/generators/generators/test.js +96 -0
  42. package/dist/generators/generators/test.js.map +1 -0
  43. package/dist/generators/index.d.ts +16 -0
  44. package/dist/generators/index.d.ts.map +1 -0
  45. package/dist/generators/index.js +16 -0
  46. package/dist/generators/index.js.map +1 -0
  47. package/dist/generators/registry.d.ts +97 -0
  48. package/dist/generators/registry.d.ts.map +1 -0
  49. package/dist/generators/registry.js +253 -0
  50. package/dist/generators/registry.js.map +1 -0
  51. package/dist/generators/templates/migration.d.ts +23 -0
  52. package/dist/generators/templates/migration.d.ts.map +1 -0
  53. package/dist/generators/templates/migration.js +389 -0
  54. package/dist/generators/templates/migration.js.map +1 -0
  55. package/dist/generators/templates/model.d.ts +37 -0
  56. package/dist/generators/templates/model.d.ts.map +1 -0
  57. package/dist/generators/templates/model.js +374 -0
  58. package/dist/generators/templates/model.js.map +1 -0
  59. package/dist/generators/templates/procedure.d.ts +25 -0
  60. package/dist/generators/templates/procedure.d.ts.map +1 -0
  61. package/dist/generators/templates/procedure.js +274 -0
  62. package/dist/generators/templates/procedure.js.map +1 -0
  63. package/dist/generators/templates/resource.d.ts +34 -0
  64. package/dist/generators/templates/resource.d.ts.map +1 -0
  65. package/dist/generators/templates/resource.js +550 -0
  66. package/dist/generators/templates/resource.js.map +1 -0
  67. package/dist/generators/templates/schema.d.ts +33 -0
  68. package/dist/generators/templates/schema.d.ts.map +1 -0
  69. package/dist/generators/templates/schema.js +248 -0
  70. package/dist/generators/templates/schema.js.map +1 -0
  71. package/dist/generators/templates/test.d.ts +31 -0
  72. package/dist/generators/templates/test.d.ts.map +1 -0
  73. package/dist/generators/templates/test.js +882 -0
  74. package/dist/generators/templates/test.js.map +1 -0
  75. package/dist/generators/types.d.ts +211 -0
  76. package/dist/generators/types.d.ts.map +1 -0
  77. package/dist/generators/types.js +54 -0
  78. package/dist/generators/types.js.map +1 -0
  79. package/dist/generators/utils/filesystem.d.ts +68 -0
  80. package/dist/generators/utils/filesystem.d.ts.map +1 -0
  81. package/dist/generators/utils/filesystem.js +217 -0
  82. package/dist/generators/utils/filesystem.js.map +1 -0
  83. package/dist/generators/utils/naming.d.ts +122 -0
  84. package/dist/generators/utils/naming.d.ts.map +1 -0
  85. package/dist/generators/utils/naming.js +198 -0
  86. package/dist/generators/utils/naming.js.map +1 -0
  87. package/dist/index.d.ts +4 -0
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js +4 -0
  90. package/dist/index.js.map +1 -1
  91. package/dist/migrations/commands/fresh.d.ts +11 -0
  92. package/dist/migrations/commands/fresh.d.ts.map +1 -0
  93. package/dist/migrations/commands/fresh.js +164 -0
  94. package/dist/migrations/commands/fresh.js.map +1 -0
  95. package/dist/migrations/commands/index.d.ts +11 -0
  96. package/dist/migrations/commands/index.d.ts.map +1 -0
  97. package/dist/migrations/commands/index.js +11 -0
  98. package/dist/migrations/commands/index.js.map +1 -0
  99. package/dist/migrations/commands/reset.d.ts +11 -0
  100. package/dist/migrations/commands/reset.d.ts.map +1 -0
  101. package/dist/migrations/commands/reset.js +258 -0
  102. package/dist/migrations/commands/reset.js.map +1 -0
  103. package/dist/migrations/commands/rollback.d.ts +11 -0
  104. package/dist/migrations/commands/rollback.d.ts.map +1 -0
  105. package/dist/migrations/commands/rollback.js +241 -0
  106. package/dist/migrations/commands/rollback.js.map +1 -0
  107. package/dist/migrations/commands/run.d.ts +11 -0
  108. package/dist/migrations/commands/run.d.ts.map +1 -0
  109. package/dist/migrations/commands/run.js +183 -0
  110. package/dist/migrations/commands/run.js.map +1 -0
  111. package/dist/migrations/commands/status.d.ts +11 -0
  112. package/dist/migrations/commands/status.d.ts.map +1 -0
  113. package/dist/migrations/commands/status.js +154 -0
  114. package/dist/migrations/commands/status.js.map +1 -0
  115. package/dist/migrations/errors.d.ts +74 -0
  116. package/dist/migrations/errors.d.ts.map +1 -0
  117. package/dist/migrations/errors.js +155 -0
  118. package/dist/migrations/errors.js.map +1 -0
  119. package/dist/migrations/index.d.ts +13 -0
  120. package/dist/migrations/index.d.ts.map +1 -0
  121. package/dist/migrations/index.js +17 -0
  122. package/dist/migrations/index.js.map +1 -0
  123. package/dist/migrations/loader.d.ts +44 -0
  124. package/dist/migrations/loader.d.ts.map +1 -0
  125. package/dist/migrations/loader.js +181 -0
  126. package/dist/migrations/loader.js.map +1 -0
  127. package/dist/migrations/prisma-wrapper.d.ts +60 -0
  128. package/dist/migrations/prisma-wrapper.d.ts.map +1 -0
  129. package/dist/migrations/prisma-wrapper.js +184 -0
  130. package/dist/migrations/prisma-wrapper.js.map +1 -0
  131. package/dist/migrations/rollback-runner.d.ts +40 -0
  132. package/dist/migrations/rollback-runner.d.ts.map +1 -0
  133. package/dist/migrations/rollback-runner.js +191 -0
  134. package/dist/migrations/rollback-runner.js.map +1 -0
  135. package/dist/migrations/types.d.ts +214 -0
  136. package/dist/migrations/types.d.ts.map +1 -0
  137. package/dist/migrations/types.js +19 -0
  138. package/dist/migrations/types.js.map +1 -0
  139. package/package.json +29 -8
@@ -0,0 +1,258 @@
1
+ /**
2
+ * migrate:reset Command
3
+ *
4
+ * Rollback all migrations then re-run them using our down.sql files.
5
+ */
6
+ import path from 'node:path';
7
+ import * as p from '@clack/prompts';
8
+ import { Command } from 'commander';
9
+ import pc from 'picocolors';
10
+ import { error, info, success, warning } from '../../utils/output.js';
11
+ import { fileExists } from '../../utils/paths.js';
12
+ import { MigrationError } from '../errors.js';
13
+ import { loadMigrations, migrationsDirExists } from '../loader.js';
14
+ import { parseMigrateStatusOutput, prismaDbSeed, prismaMigrateDeploy, prismaMigrateStatus, } from '../prisma-wrapper.js';
15
+ import { rollbackAll } from '../rollback-runner.js';
16
+ import { createPrismaClient, } from '../types.js';
17
+ /**
18
+ * Create the migrate:reset command
19
+ */
20
+ export function createMigrateResetCommand() {
21
+ return new Command('reset')
22
+ .description('Rollback all migrations then re-run')
23
+ .option('--seed', 'Run seeders after migrations')
24
+ .option('--force', 'Skip confirmation prompt')
25
+ .option('--json', 'Output as JSON')
26
+ .action(async (options) => {
27
+ await runMigrateReset(options);
28
+ });
29
+ }
30
+ /**
31
+ * Run migrate:reset
32
+ */
33
+ async function runMigrateReset(options) {
34
+ const cwd = process.cwd();
35
+ const s = p.spinner();
36
+ let prisma = null;
37
+ try {
38
+ // Check if Prisma schema exists
39
+ const schemaPath = path.join(cwd, 'prisma', 'schema.prisma');
40
+ if (!fileExists(schemaPath)) {
41
+ if (options.json) {
42
+ console.log(JSON.stringify({ error: 'Prisma schema not found' }));
43
+ }
44
+ else {
45
+ error('Prisma schema not found.');
46
+ console.log(` ${pc.dim('Expected: prisma/schema.prisma')}`);
47
+ }
48
+ process.exit(1);
49
+ }
50
+ // Check migrations directory
51
+ const hasDir = await migrationsDirExists(cwd);
52
+ if (!hasDir) {
53
+ if (options.json) {
54
+ console.log(JSON.stringify({ error: 'No migrations found' }));
55
+ }
56
+ else {
57
+ info('No migrations to reset.');
58
+ }
59
+ return;
60
+ }
61
+ // Load migration files
62
+ const files = await loadMigrations(cwd);
63
+ // Get applied migrations from Prisma status
64
+ const statusResult = await prismaMigrateStatus(cwd);
65
+ const parsed = parseMigrateStatusOutput(statusResult.output);
66
+ // Find applied migrations with rollback capability
67
+ const appliedFiles = [];
68
+ for (const appliedName of [...parsed.applied].reverse()) {
69
+ const file = files.find((f) => f.name === appliedName);
70
+ if (file) {
71
+ appliedFiles.push(file);
72
+ }
73
+ }
74
+ // Check if all applied migrations have rollback support
75
+ const withoutRollback = appliedFiles.filter((m) => !m.hasRollback);
76
+ if (withoutRollback.length > 0) {
77
+ if (options.json) {
78
+ console.log(JSON.stringify({
79
+ error: 'Cannot reset - missing rollback files',
80
+ migrations: withoutRollback.map((m) => m.name),
81
+ suggestion: 'Use "velox migrate:fresh" to drop all tables instead',
82
+ }));
83
+ }
84
+ else {
85
+ error('Cannot reset - missing down.sql files:');
86
+ for (const m of withoutRollback) {
87
+ console.log(` ${pc.dim('→')} ${m.name}`);
88
+ }
89
+ console.log('');
90
+ console.log(` ${pc.dim('Use: velox migrate:fresh to drop all tables instead')}`);
91
+ }
92
+ process.exit(1);
93
+ }
94
+ // Show warning
95
+ if (!options.json) {
96
+ console.log('');
97
+ warning(`This will rollback ${appliedFiles.length} migration${appliedFiles.length > 1 ? 's' : ''} then re-run them.`);
98
+ console.log('');
99
+ }
100
+ // Confirm unless --force
101
+ if (!options.force && !options.json) {
102
+ const confirm = await p.confirm({
103
+ message: 'Are you sure you want to reset all migrations?',
104
+ });
105
+ if (p.isCancel(confirm) || !confirm) {
106
+ console.log('');
107
+ info('Operation cancelled.');
108
+ return;
109
+ }
110
+ }
111
+ // Initialize Prisma client dynamically (avoids compile-time dependency on generated types)
112
+ prisma = await createPrismaClient();
113
+ // Step 1: Rollback all migrations
114
+ if (!options.json) {
115
+ console.log('');
116
+ s.start(`Rolling back ${appliedFiles.length} migration${appliedFiles.length > 1 ? 's' : ''}...`);
117
+ }
118
+ const rollbackResult = await rollbackAll(prisma, appliedFiles);
119
+ if (rollbackResult.failed > 0) {
120
+ if (!options.json) {
121
+ s.stop('Rollback failed');
122
+ }
123
+ if (options.json) {
124
+ console.log(JSON.stringify({
125
+ success: false,
126
+ phase: 'rollback',
127
+ error: 'Rollback failed',
128
+ results: rollbackResult.results,
129
+ }));
130
+ }
131
+ else {
132
+ console.log('');
133
+ error('Rollback failed. Database may be in an inconsistent state.');
134
+ for (const r of rollbackResult.results.filter((r) => !r.success)) {
135
+ console.log(` ${pc.red('✗')} ${r.migration}: ${r.error}`);
136
+ }
137
+ console.log('');
138
+ }
139
+ process.exit(1);
140
+ }
141
+ if (!options.json) {
142
+ s.stop(`Rolled back ${rollbackResult.successful} migration${rollbackResult.successful > 1 ? 's' : ''}`);
143
+ }
144
+ // Step 2: Re-run migrations
145
+ if (!options.json) {
146
+ console.log('');
147
+ s.start('Re-running all migrations...');
148
+ }
149
+ // Disconnect prisma before running migrate deploy (it opens its own connection)
150
+ await prisma.$disconnect();
151
+ prisma = null;
152
+ const deployResult = await prismaMigrateDeploy(cwd);
153
+ if (!deployResult.success) {
154
+ if (!options.json) {
155
+ s.stop('Migration failed');
156
+ }
157
+ if (options.json) {
158
+ console.log(JSON.stringify({
159
+ success: false,
160
+ phase: 'deploy',
161
+ error: deployResult.error,
162
+ rollbackSuccessful: rollbackResult.successful,
163
+ }));
164
+ }
165
+ else {
166
+ console.log('');
167
+ error('Migration failed after rollback. Database may be in an inconsistent state.');
168
+ if (deployResult.error) {
169
+ console.log(` ${pc.dim(deployResult.error)}`);
170
+ }
171
+ console.log('');
172
+ }
173
+ process.exit(1);
174
+ }
175
+ if (!options.json) {
176
+ s.stop('Migrations applied');
177
+ }
178
+ // Step 3: Run seeders if requested
179
+ if (options.seed) {
180
+ if (!options.json) {
181
+ console.log('');
182
+ s.start('Running seeders...');
183
+ }
184
+ const seedResult = await prismaDbSeed(cwd);
185
+ if (!seedResult.success) {
186
+ if (!options.json) {
187
+ s.stop('Seeding failed');
188
+ }
189
+ if (options.json) {
190
+ console.log(JSON.stringify({
191
+ success: true,
192
+ message: 'Reset complete but seeding failed',
193
+ seedError: seedResult.error,
194
+ }));
195
+ }
196
+ else {
197
+ console.log('');
198
+ warning('Reset complete but seeding failed.');
199
+ if (seedResult.error) {
200
+ console.log(` ${pc.dim(seedResult.error)}`);
201
+ }
202
+ console.log('');
203
+ }
204
+ return;
205
+ }
206
+ if (!options.json) {
207
+ s.stop('Seeding complete');
208
+ }
209
+ }
210
+ // Success output
211
+ if (options.json) {
212
+ console.log(JSON.stringify({
213
+ success: true,
214
+ message: options.seed
215
+ ? 'Database reset and seeded successfully'
216
+ : 'Database reset successfully',
217
+ rollbackCount: rollbackResult.successful,
218
+ }));
219
+ }
220
+ else {
221
+ console.log('');
222
+ success(options.seed ? 'Database reset and seeded successfully!' : 'Database reset successfully!');
223
+ console.log('');
224
+ }
225
+ }
226
+ catch (err) {
227
+ s.stop('Operation failed');
228
+ if (options.json) {
229
+ if (err instanceof MigrationError) {
230
+ console.log(JSON.stringify({ error: err.toJSON() }));
231
+ }
232
+ else {
233
+ console.log(JSON.stringify({ error: err instanceof Error ? err.message : String(err) }));
234
+ }
235
+ }
236
+ else {
237
+ console.log('');
238
+ if (err instanceof MigrationError) {
239
+ error(err.message);
240
+ if (err.fix) {
241
+ console.log(` ${pc.dim('Fix:')} ${err.fix}`);
242
+ }
243
+ }
244
+ else {
245
+ error(err instanceof Error ? err.message : String(err));
246
+ }
247
+ console.log('');
248
+ }
249
+ process.exit(1);
250
+ }
251
+ finally {
252
+ // Disconnect Prisma client if still connected
253
+ if (prisma) {
254
+ await prisma.$disconnect();
255
+ }
256
+ }
257
+ }
258
+ //# sourceMappingURL=reset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset.js","sourceRoot":"","sources":["../../../src/migrations/commands/reset.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * migrate:rollback Command
3
+ *
4
+ * Rollback migrations using down.sql files.
5
+ */
6
+ import { Command } from 'commander';
7
+ /**
8
+ * Create the migrate:rollback command
9
+ */
10
+ export declare function createMigrateRollbackCommand(): Command;
11
+ //# sourceMappingURL=rollback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rollback.d.ts","sourceRoot":"","sources":["../../../src/migrations/commands/rollback.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,OAAO,CAWtD"}
@@ -0,0 +1,241 @@
1
+ /**
2
+ * migrate:rollback Command
3
+ *
4
+ * Rollback migrations using down.sql files.
5
+ */
6
+ import path from 'node:path';
7
+ import * as p from '@clack/prompts';
8
+ import { Command } from 'commander';
9
+ import pc from 'picocolors';
10
+ import { error, info, success, warning } from '../../utils/output.js';
11
+ import { fileExists } from '../../utils/paths.js';
12
+ import { MigrationError } from '../errors.js';
13
+ import { loadMigrations, migrationsDirExists } from '../loader.js';
14
+ import { parseMigrateStatusOutput, prismaMigrateStatus } from '../prisma-wrapper.js';
15
+ import { rollbackMultiple } from '../rollback-runner.js';
16
+ import { createPrismaClient, } from '../types.js';
17
+ /**
18
+ * Create the migrate:rollback command
19
+ */
20
+ export function createMigrateRollbackCommand() {
21
+ return new Command('rollback')
22
+ .description('Rollback migrations')
23
+ .option('--step <n>', 'Rollback N migrations (default: 1)', parseInt, 1)
24
+ .option('--all', 'Rollback all migrations')
25
+ .option('--force', 'Skip confirmation prompt')
26
+ .option('--dry-run', 'Show what would be rolled back')
27
+ .option('--json', 'Output as JSON')
28
+ .action(async (options) => {
29
+ await runMigrateRollback(options);
30
+ });
31
+ }
32
+ /**
33
+ * Run migrate:rollback
34
+ */
35
+ async function runMigrateRollback(options) {
36
+ const cwd = process.cwd();
37
+ const s = p.spinner();
38
+ let prisma = null;
39
+ try {
40
+ // Check if Prisma schema exists
41
+ const schemaPath = path.join(cwd, 'prisma', 'schema.prisma');
42
+ if (!fileExists(schemaPath)) {
43
+ if (options.json) {
44
+ console.log(JSON.stringify({ error: 'Prisma schema not found' }));
45
+ }
46
+ else {
47
+ error('Prisma schema not found.');
48
+ console.log(` ${pc.dim('Expected: prisma/schema.prisma')}`);
49
+ }
50
+ process.exit(1);
51
+ }
52
+ // Check migrations directory
53
+ const hasDir = await migrationsDirExists(cwd);
54
+ if (!hasDir) {
55
+ if (options.json) {
56
+ console.log(JSON.stringify({ error: 'No migrations found' }));
57
+ }
58
+ else {
59
+ info('No migrations to rollback.');
60
+ }
61
+ return;
62
+ }
63
+ // Load migration files
64
+ const files = await loadMigrations(cwd);
65
+ // Get applied migrations from Prisma status
66
+ const statusResult = await prismaMigrateStatus(cwd);
67
+ const parsed = parseMigrateStatusOutput(statusResult.output);
68
+ if (parsed.applied.length === 0) {
69
+ if (options.json) {
70
+ console.log(JSON.stringify({ error: 'No migrations have been applied' }));
71
+ }
72
+ else {
73
+ info('No migrations have been applied yet.');
74
+ }
75
+ return;
76
+ }
77
+ // Find migrations to rollback (in reverse order - most recent first)
78
+ const appliedFiles = [];
79
+ for (const appliedName of [...parsed.applied].reverse()) {
80
+ const file = files.find((f) => f.name === appliedName);
81
+ if (file) {
82
+ appliedFiles.push(file);
83
+ }
84
+ }
85
+ // Determine how many to rollback
86
+ const count = options.all ? appliedFiles.length : (options.step ?? 1);
87
+ const toRollback = appliedFiles.slice(0, count);
88
+ if (toRollback.length === 0) {
89
+ if (options.json) {
90
+ console.log(JSON.stringify({ error: 'No migrations to rollback' }));
91
+ }
92
+ else {
93
+ info('No migrations to rollback.');
94
+ }
95
+ return;
96
+ }
97
+ // Check if all migrations have rollback support
98
+ const withoutRollback = toRollback.filter((m) => !m.hasRollback);
99
+ if (withoutRollback.length > 0) {
100
+ if (options.json) {
101
+ console.log(JSON.stringify({
102
+ error: 'Missing rollback files',
103
+ migrations: withoutRollback.map((m) => m.name),
104
+ }));
105
+ }
106
+ else {
107
+ error('Cannot rollback - missing down.sql files:');
108
+ for (const m of withoutRollback) {
109
+ console.log(` ${pc.dim('→')} ${m.name}`);
110
+ }
111
+ console.log('');
112
+ console.log(` ${pc.dim('Fix: Create down.sql in the migration folder')}`);
113
+ console.log(` ${pc.dim('Or use: velox migrate:fresh to reset completely')}`);
114
+ }
115
+ process.exit(1);
116
+ }
117
+ // Show what will be rolled back
118
+ if (!options.json && !options.dryRun) {
119
+ console.log('');
120
+ warning(`Rolling back ${toRollback.length} migration${toRollback.length > 1 ? 's' : ''}`);
121
+ console.log('');
122
+ for (const m of toRollback) {
123
+ console.log(` ${pc.dim('→')} ${m.name}`);
124
+ }
125
+ console.log('');
126
+ }
127
+ // Dry run
128
+ if (options.dryRun) {
129
+ if (options.json) {
130
+ console.log(JSON.stringify({
131
+ dryRun: true,
132
+ wouldRollback: toRollback.map((m) => m.name),
133
+ count: toRollback.length,
134
+ }, null, 2));
135
+ }
136
+ else {
137
+ warning('Dry run mode - no changes made.');
138
+ console.log(` ${pc.dim('Remove --dry-run to execute rollback.')}`);
139
+ }
140
+ return;
141
+ }
142
+ // Confirm unless --force
143
+ if (!options.force && !options.json) {
144
+ const confirm = await p.confirm({
145
+ message: `Are you sure you want to rollback ${toRollback.length} migration${toRollback.length > 1 ? 's' : ''}?`,
146
+ });
147
+ if (p.isCancel(confirm) || !confirm) {
148
+ console.log('');
149
+ info('Rollback cancelled.');
150
+ return;
151
+ }
152
+ }
153
+ // Execute rollback
154
+ if (!options.json) {
155
+ console.log('');
156
+ s.start('Rolling back migrations...');
157
+ }
158
+ // Initialize Prisma client dynamically (avoids compile-time dependency on generated types)
159
+ prisma = await createPrismaClient();
160
+ const result = await rollbackMultiple(prisma, toRollback, {
161
+ dryRun: options.dryRun,
162
+ });
163
+ if (!options.json) {
164
+ s.stop(result.failed > 0 ? 'Rollback completed with errors' : 'Rollback complete');
165
+ }
166
+ // Output results
167
+ if (options.json) {
168
+ console.log(JSON.stringify({
169
+ success: result.failed === 0,
170
+ rolledBack: result.results.filter((r) => r.success).map((r) => r.migration),
171
+ failed: result.results
172
+ .filter((r) => !r.success)
173
+ .map((r) => ({
174
+ migration: r.migration,
175
+ error: r.error,
176
+ })),
177
+ total: result.total,
178
+ successful: result.successful,
179
+ duration: result.duration,
180
+ }, null, 2));
181
+ }
182
+ else {
183
+ console.log('');
184
+ // Show individual results
185
+ for (const r of result.results) {
186
+ if (r.success) {
187
+ console.log(` ${pc.green('✓')} ${r.migration} ${pc.dim(`(${r.duration}ms)`)}`);
188
+ }
189
+ else {
190
+ console.log(` ${pc.red('✗')} ${r.migration}`);
191
+ if (r.error) {
192
+ console.log(` ${pc.red(r.error)}`);
193
+ }
194
+ }
195
+ }
196
+ console.log('');
197
+ if (result.failed > 0) {
198
+ error(`Rollback completed with ${result.failed} error${result.failed > 1 ? 's' : ''}`);
199
+ }
200
+ else {
201
+ success(`Rolled back ${result.successful} migration${result.successful > 1 ? 's' : ''}`);
202
+ }
203
+ console.log('');
204
+ }
205
+ if (result.failed > 0) {
206
+ process.exit(1);
207
+ }
208
+ }
209
+ catch (err) {
210
+ s.stop('Rollback failed');
211
+ if (options.json) {
212
+ if (err instanceof MigrationError) {
213
+ console.log(JSON.stringify({ error: err.toJSON() }));
214
+ }
215
+ else {
216
+ console.log(JSON.stringify({ error: err instanceof Error ? err.message : String(err) }));
217
+ }
218
+ }
219
+ else {
220
+ console.log('');
221
+ if (err instanceof MigrationError) {
222
+ error(err.message);
223
+ if (err.fix) {
224
+ console.log(` ${pc.dim('Fix:')} ${err.fix}`);
225
+ }
226
+ }
227
+ else {
228
+ error(err instanceof Error ? err.message : String(err));
229
+ }
230
+ console.log('');
231
+ }
232
+ process.exit(1);
233
+ }
234
+ finally {
235
+ // Disconnect Prisma client
236
+ if (prisma) {
237
+ await prisma.$disconnect();
238
+ }
239
+ }
240
+ }
241
+ //# sourceMappingURL=rollback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rollback.js","sourceRoot":"","sources":["../../../src/migrations/commands/rollback.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * migrate:run Command
3
+ *
4
+ * Run pending migrations.
5
+ */
6
+ import { Command } from 'commander';
7
+ /**
8
+ * Create the migrate:run command
9
+ */
10
+ export declare function createMigrateRunCommand(): Command;
11
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/migrations/commands/run.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAepC;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAUjD"}