fragment-ts 1.0.7 → 1.0.8

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.
@@ -1 +1 @@
1
- {"version":3,"file":"init.command.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,qBAAa,WAAW;IACtB,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;WAe1B,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;mBAsF/C,wBAAwB;mBAyCxB,iBAAiB;mBAyFjB,gBAAgB;mBA+BhB,yBAAyB;mBAoBzB,sBAAsB;mBAmBtB,qBAAqB;mBA2BrB,iBAAiB;CA8CvC"}
1
+ {"version":3,"file":"init.command.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,qBAAa,WAAW;IACtB,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;WAe1B,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;mBAsF/C,wBAAwB;mBAyCxB,iBAAiB;mBA6FjB,gBAAgB;mBA+BhB,yBAAyB;mBAoBzB,sBAAsB;mBAmBtB,qBAAqB;mBA2BrB,iBAAiB;CA8CvC"}
@@ -171,6 +171,10 @@ class InitCommand {
171
171
  dev: "fragment serve",
172
172
  build: "fragment build",
173
173
  test: "fragment test",
174
+ "migrate:create": "fragment migrate:create",
175
+ "migrate:generate": "fragment migrate:generate",
176
+ "migrate:run": "fragment migrate:run",
177
+ "migrate:revert": "fragment migrate:revert",
174
178
  },
175
179
  dependencies: {
176
180
  fragment: "^1.0.0",
@@ -1 +1 @@
1
- {"version":3,"file":"init.command.js","sourceRoot":"","sources":["../../../src/cli/commands/init.command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.command.js","sourceRoot":"","sources":["../../../src/cli/commands/init.command.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Command } from 'commander';
1
+ import { Command } from "commander";
2
2
  export declare class MigrateCommand {
3
3
  static register(program: Command): void;
4
4
  private static generateMigration;
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.command.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migrate.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,qBAAa,cAAc;IACzB,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;mBAqFlB,iBAAiB;mBAqDjB,eAAe;mBA2Bf,aAAa;mBAab,eAAe;mBAaf,iBAAiB;mBAcjB,UAAU;mBAKV,UAAU;mBAaV,UAAU;mBAaV,QAAQ;mBA0BR,UAAU;CAuBhC"}
1
+ {"version":3,"file":"migrate.command.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migrate.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,qBAAa,cAAc;IACzB,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;mBAqFlB,iBAAiB;mBAsFjB,eAAe;mBA2Bf,aAAa;mBAab,eAAe;mBAaf,iBAAiB;mBAcjB,UAAU;mBAKV,UAAU;mBAaV,UAAU;mBAaV,QAAQ;mBA0BR,UAAU;CAuBhC"}
@@ -45,70 +45,70 @@ const typeorm_module_1 = require("../../typeorm/typeorm-module");
45
45
  class MigrateCommand {
46
46
  static register(program) {
47
47
  program
48
- .command('migrate')
49
- .description('Run all pending migrations')
48
+ .command("migrate")
49
+ .description("Run all pending migrations")
50
50
  .action(async () => {
51
51
  await this.runMigrations();
52
52
  });
53
53
  program
54
- .command('migrate:create <name>')
55
- .description('Create an empty migration')
54
+ .command("migrate:create <name>")
55
+ .description("Create an empty migration")
56
56
  .action(async (name) => {
57
57
  await this.createMigration(name);
58
58
  });
59
59
  program
60
- .command('migrate:generate [nameOrPath]')
61
- .description('Generate migration from schema changes')
62
- .requiredOption('-d, --dataSource <path>', 'Path to DataSource file')
63
- .option('--name <name>', 'Migration name')
60
+ .command("migrate:generate [nameOrPath]")
61
+ .description("Generate migration from schema changes")
62
+ .requiredOption("-d, --dataSource <path>", "Path to DataSource file")
63
+ .option("--name <name>", "Migration name")
64
64
  .action(async (nameOrPath, options) => {
65
65
  await this.generateMigration(nameOrPath, options);
66
66
  });
67
67
  program
68
- .command('migrate:run')
69
- .description('Run pending migrations')
68
+ .command("migrate:run")
69
+ .description("Run pending migrations")
70
70
  .action(async () => {
71
71
  await this.runMigrations();
72
72
  });
73
73
  program
74
- .command('migrate:revert')
75
- .description('Revert the last migration')
74
+ .command("migrate:revert")
75
+ .description("Revert the last migration")
76
76
  .action(async () => {
77
77
  await this.revertMigration();
78
78
  });
79
79
  program
80
- .command('migrate:refresh')
81
- .description('Rollback all migrations and re-run them')
80
+ .command("migrate:refresh")
81
+ .description("Rollback all migrations and re-run them")
82
82
  .action(async () => {
83
83
  await this.refreshMigrations();
84
84
  });
85
85
  program
86
- .command('migrate:status')
87
- .description('Show migration status')
86
+ .command("migrate:status")
87
+ .description("Show migration status")
88
88
  .action(async () => {
89
89
  await this.showStatus();
90
90
  });
91
91
  program
92
- .command('schema:sync')
93
- .description('Synchronize database schema')
92
+ .command("schema:sync")
93
+ .description("Synchronize database schema")
94
94
  .action(async () => {
95
95
  await this.syncSchema();
96
96
  });
97
97
  program
98
- .command('schema:drop')
99
- .description('Drop database schema')
98
+ .command("schema:drop")
99
+ .description("Drop database schema")
100
100
  .action(async () => {
101
101
  await this.dropSchema();
102
102
  });
103
103
  program
104
- .command('seed')
105
- .description('Run database seeds')
104
+ .command("seed")
105
+ .description("Run database seeds")
106
106
  .action(async () => {
107
107
  await this.runSeeds();
108
108
  });
109
109
  program
110
- .command('seed:create <name>')
111
- .description('Create a new seed file')
110
+ .command("seed:create <name>")
111
+ .description("Create a new seed file")
112
112
  .action(async (name) => {
113
113
  await this.createSeed(name);
114
114
  });
@@ -117,39 +117,64 @@ class MigrateCommand {
117
117
  // MIGRATION GENERATE
118
118
  // -----------------------------------------
119
119
  static async generateMigration(nameOrPath, options) {
120
- const spinner = (0, ora_1.default)('Generating migration...').start();
120
+ const spinner = (0, ora_1.default)("Generating migration...").start();
121
121
  try {
122
+ // 1️⃣ Resolve DataSource file path
122
123
  const dataSourcePath = path.resolve(process.cwd(), options.dataSource);
123
124
  if (!fs.existsSync(dataSourcePath)) {
124
125
  throw new Error(`DataSource not found at ${dataSourcePath}`);
125
126
  }
127
+ // 2️⃣ Import the DataSource dynamically
128
+ const imported = await Promise.resolve(`${dataSourcePath}`).then(s => __importStar(require(s)));
129
+ const dataSource = imported.default ?? imported.dataSource ?? imported.DataSource;
130
+ if (!dataSource) {
131
+ throw new Error(`No DataSource exported from ${dataSourcePath}. Make sure you export a default DataSource instance.`);
132
+ }
133
+ // 3️⃣ Initialize the DataSource
134
+ if (!dataSource.isInitialized) {
135
+ await dataSource.initialize();
136
+ }
137
+ // 4️⃣ Generate schema change SQL
138
+ const schemaBuilder = dataSource.driver.createSchemaBuilder();
139
+ const sqlLog = await schemaBuilder.log();
140
+ // 5️⃣ Check if there are any changes
141
+ if (sqlLog.upQueries.length === 0 && sqlLog.downQueries.length === 0) {
142
+ spinner.info("No schema changes detected. Migration not generated.");
143
+ return;
144
+ }
145
+ // 6️⃣ Determine migration name
146
+ const migrationName = options.name || (nameOrPath ? path.basename(nameOrPath) : "Migration");
126
147
  const timestamp = Date.now();
127
- const migrationName = options.name ||
128
- (nameOrPath ? path.basename(nameOrPath) : 'Migration');
129
- const isFullPath = nameOrPath?.includes('/') || nameOrPath?.includes('\\');
130
- const migrationsDir = isFullPath
131
- ? path.dirname(nameOrPath)
132
- : path.join(process.cwd(), 'src', 'migrations');
148
+ // 7️⃣ Set migrations directory
149
+ const migrationsDir = path.join(process.cwd(), "src", "migrations");
150
+ // 8️⃣ Build SQL for up/down
151
+ const upSql = sqlLog.upQueries
152
+ .map((q) => `await queryRunner.query(\`${q.query}\`);`)
153
+ .join("\n");
154
+ const downSql = sqlLog.downQueries
155
+ .map((q) => `await queryRunner.query(\`${q.query}\`);`)
156
+ .join("\n");
157
+ // 9️⃣ Write the migration file
133
158
  const fileName = `${timestamp}-${migrationName}.ts`;
134
159
  const filePath = path.join(migrationsDir, fileName);
135
160
  const content = `import { MigrationInterface, QueryRunner } from 'typeorm';
136
161
 
137
- export class ${migrationName}${timestamp} implements MigrationInterface {
138
- async up(queryRunner: QueryRunner): Promise<void> {
139
- // Auto-generated migration
140
- }
162
+ export class ${migrationName}${timestamp} implements MigrationInterface {
163
+ async up(queryRunner: QueryRunner): Promise<void> {
164
+ ${upSql}
165
+ }
141
166
 
142
- async down(queryRunner: QueryRunner): Promise<void> {
143
- // Revert changes
167
+ async down(queryRunner: QueryRunner): Promise<void> {
168
+ ${downSql}
169
+ }
144
170
  }
145
- }
146
- `;
171
+ `;
147
172
  await fs.ensureDir(path.dirname(filePath));
148
173
  await fs.writeFile(filePath, content);
149
- spinner.succeed(`Migration generated: ${filePath}`);
174
+ spinner.succeed(`Migration generated successfully: ${filePath}`);
150
175
  }
151
176
  catch (error) {
152
- spinner.fail('Migration generation failed');
177
+ spinner.fail("Migration generation failed");
153
178
  console.error(chalk_1.default.red(error));
154
179
  }
155
180
  }
@@ -157,11 +182,11 @@ export class ${migrationName}${timestamp} implements MigrationInterface {
157
182
  // EXISTING METHODS
158
183
  // -----------------------------------------
159
184
  static async createMigration(name) {
160
- const spinner = (0, ora_1.default)('Creating migration...').start();
185
+ const spinner = (0, ora_1.default)("Creating migration...").start();
161
186
  try {
162
187
  const timestamp = Date.now();
163
188
  const fileName = `${timestamp}-${name}.ts`;
164
- const filePath = path.join(process.cwd(), 'src', 'migrations', fileName);
189
+ const filePath = path.join(process.cwd(), "src", "migrations", fileName);
165
190
  const content = `import { MigrationInterface, QueryRunner } from 'typeorm';
166
191
 
167
192
  export class ${name}${timestamp} implements MigrationInterface {
@@ -175,83 +200,83 @@ export class ${name}${timestamp} implements MigrationInterface {
175
200
  spinner.succeed(`Migration created: ${fileName}`);
176
201
  }
177
202
  catch (error) {
178
- spinner.fail('Failed to create migration');
203
+ spinner.fail("Failed to create migration");
179
204
  console.error(chalk_1.default.red(error));
180
205
  }
181
206
  }
182
207
  static async runMigrations() {
183
- const spinner = (0, ora_1.default)('Running migrations...').start();
208
+ const spinner = (0, ora_1.default)("Running migrations...").start();
184
209
  try {
185
210
  await typeorm_module_1.TypeORMModule.initialize();
186
211
  await typeorm_module_1.TypeORMModule.runMigrations();
187
- spinner.succeed('Migrations completed successfully');
212
+ spinner.succeed("Migrations completed successfully");
188
213
  }
189
214
  catch (error) {
190
- spinner.fail('Migration failed');
215
+ spinner.fail("Migration failed");
191
216
  console.error(chalk_1.default.red(error));
192
217
  }
193
218
  }
194
219
  static async revertMigration() {
195
- const spinner = (0, ora_1.default)('Reverting migration...').start();
220
+ const spinner = (0, ora_1.default)("Reverting migration...").start();
196
221
  try {
197
222
  await typeorm_module_1.TypeORMModule.initialize();
198
223
  await typeorm_module_1.TypeORMModule.revertMigration();
199
- spinner.succeed('Migration reverted successfully');
224
+ spinner.succeed("Migration reverted successfully");
200
225
  }
201
226
  catch (error) {
202
- spinner.fail('Revert failed');
227
+ spinner.fail("Revert failed");
203
228
  console.error(chalk_1.default.red(error));
204
229
  }
205
230
  }
206
231
  static async refreshMigrations() {
207
- const spinner = (0, ora_1.default)('Refreshing migrations...').start();
232
+ const spinner = (0, ora_1.default)("Refreshing migrations...").start();
208
233
  try {
209
234
  await typeorm_module_1.TypeORMModule.initialize();
210
235
  await typeorm_module_1.TypeORMModule.dropSchema();
211
236
  await typeorm_module_1.TypeORMModule.runMigrations();
212
- spinner.succeed('Migrations refreshed successfully');
237
+ spinner.succeed("Migrations refreshed successfully");
213
238
  }
214
239
  catch (error) {
215
- spinner.fail('Refresh failed');
240
+ spinner.fail("Refresh failed");
216
241
  console.error(chalk_1.default.red(error));
217
242
  }
218
243
  }
219
244
  static async showStatus() {
220
- console.log(chalk_1.default.blue('Migration Status:'));
221
- console.log(' Implement status checking using TypeORM QueryRunner');
245
+ console.log(chalk_1.default.blue("Migration Status:"));
246
+ console.log(" Implement status checking using TypeORM QueryRunner");
222
247
  }
223
248
  static async syncSchema() {
224
- const spinner = (0, ora_1.default)('Synchronizing schema...').start();
249
+ const spinner = (0, ora_1.default)("Synchronizing schema...").start();
225
250
  try {
226
251
  await typeorm_module_1.TypeORMModule.initialize();
227
252
  await typeorm_module_1.TypeORMModule.syncSchema();
228
- spinner.succeed('Schema synchronized');
253
+ spinner.succeed("Schema synchronized");
229
254
  }
230
255
  catch (error) {
231
- spinner.fail('Sync failed');
256
+ spinner.fail("Sync failed");
232
257
  console.error(chalk_1.default.red(error));
233
258
  }
234
259
  }
235
260
  static async dropSchema() {
236
- const spinner = (0, ora_1.default)('Dropping schema...').start();
261
+ const spinner = (0, ora_1.default)("Dropping schema...").start();
237
262
  try {
238
263
  await typeorm_module_1.TypeORMModule.initialize();
239
264
  await typeorm_module_1.TypeORMModule.dropSchema();
240
- spinner.succeed('Schema dropped');
265
+ spinner.succeed("Schema dropped");
241
266
  }
242
267
  catch (error) {
243
- spinner.fail('Drop failed');
268
+ spinner.fail("Drop failed");
244
269
  console.error(chalk_1.default.red(error));
245
270
  }
246
271
  }
247
272
  static async runSeeds() {
248
- const spinner = (0, ora_1.default)('Running seeds...').start();
273
+ const spinner = (0, ora_1.default)("Running seeds...").start();
249
274
  try {
250
- const seedsDir = path.join(process.cwd(), 'dist', 'seeds');
275
+ const seedsDir = path.join(process.cwd(), "dist", "seeds");
251
276
  if (fs.existsSync(seedsDir)) {
252
277
  const files = fs.readdirSync(seedsDir);
253
278
  for (const file of files) {
254
- if (file.endsWith('.js')) {
279
+ if (file.endsWith(".js")) {
255
280
  const seedModule = require(path.join(seedsDir, file));
256
281
  if (seedModule.default?.run) {
257
282
  await seedModule.default.run();
@@ -259,18 +284,18 @@ export class ${name}${timestamp} implements MigrationInterface {
259
284
  }
260
285
  }
261
286
  }
262
- spinner.succeed('Seeds completed successfully');
287
+ spinner.succeed("Seeds completed successfully");
263
288
  }
264
289
  catch (error) {
265
- spinner.fail('Seed failed');
290
+ spinner.fail("Seed failed");
266
291
  console.error(chalk_1.default.red(error));
267
292
  }
268
293
  }
269
294
  static async createSeed(name) {
270
- const spinner = (0, ora_1.default)('Creating seed...').start();
295
+ const spinner = (0, ora_1.default)("Creating seed...").start();
271
296
  try {
272
297
  const fileName = `${name}.seed.ts`;
273
- const filePath = path.join(process.cwd(), 'src', 'seeds', fileName);
298
+ const filePath = path.join(process.cwd(), "src", "seeds", fileName);
274
299
  const content = `export default class ${name}Seed {
275
300
  static async run() {
276
301
  console.log('Running ${name} seed...');
@@ -282,7 +307,7 @@ export class ${name}${timestamp} implements MigrationInterface {
282
307
  spinner.succeed(`Seed created: ${fileName}`);
283
308
  }
284
309
  catch (error) {
285
- spinner.fail('Failed to create seed');
310
+ spinner.fail("Failed to create seed");
286
311
  console.error(chalk_1.default.red(error));
287
312
  }
288
313
  }
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.command.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate.command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrate.command.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate.command.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fragment-ts",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "description": "Spring Boot-style framework for TypeScript with Express and TypeORM",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -163,6 +163,10 @@ export class InitCommand {
163
163
  dev: "fragment serve",
164
164
  build: "fragment build",
165
165
  test: "fragment test",
166
+ "migrate:create": "fragment migrate:create",
167
+ "migrate:generate": "fragment migrate:generate",
168
+ "migrate:run": "fragment migrate:run",
169
+ "migrate:revert": "fragment migrate:revert",
166
170
  },
167
171
  dependencies: {
168
172
  fragment: "^1.0.0",
@@ -200,7 +204,7 @@ export class InitCommand {
200
204
  });
201
205
 
202
206
  const fragmentConfig: any = {};
203
-
207
+
204
208
  if (features.includes("database")) {
205
209
  // Default SQLite config with env interpolation
206
210
  fragmentConfig.database = {
@@ -213,23 +217,23 @@ export class InitCommand {
213
217
  subscribers: [],
214
218
  };
215
219
  }
216
-
220
+
217
221
  // Write fragment.json
218
222
  await fs.writeJSON(
219
223
  path.join(projectPath, "fragment.json"),
220
224
  fragmentConfig,
221
225
  { spaces: 2 },
222
226
  );
223
-
227
+
224
228
  // .env file with defaults
225
229
  const envContent = `NODE_ENV=development
226
230
  PORT=3000
227
231
  JWT_SECRET=${process.env.JWT_SECRET ?? "your-secret-key-change-this"}
228
232
  ${features.includes("database") ? "DATABASE_FILE=database.sqlite" : ""}
229
233
  `;
230
-
234
+
231
235
  await fs.writeFile(path.join(projectPath, ".env"), envContent);
232
-
236
+
233
237
  // .gitignore
234
238
  await fs.writeFile(
235
239
  path.join(projectPath, ".gitignore"),
@@ -1,87 +1,88 @@
1
- import { Command } from 'commander';
2
- import * as fs from 'fs-extra';
3
- import * as path from 'path';
4
- import chalk from 'chalk';
5
- import ora from 'ora';
6
- import { TypeORMModule } from '../../typeorm/typeorm-module';
1
+ import { Command } from "commander";
2
+ import * as fs from "fs-extra";
3
+ import * as path from "path";
4
+ import chalk from "chalk";
5
+ import ora from "ora";
6
+ import { TypeORMModule } from "../../typeorm/typeorm-module";
7
+ import { DataSource } from "typeorm";
7
8
 
8
9
  export class MigrateCommand {
9
10
  static register(program: Command): void {
10
11
  program
11
- .command('migrate')
12
- .description('Run all pending migrations')
12
+ .command("migrate")
13
+ .description("Run all pending migrations")
13
14
  .action(async () => {
14
15
  await this.runMigrations();
15
16
  });
16
17
 
17
18
  program
18
- .command('migrate:create <name>')
19
- .description('Create an empty migration')
19
+ .command("migrate:create <name>")
20
+ .description("Create an empty migration")
20
21
  .action(async (name) => {
21
22
  await this.createMigration(name);
22
23
  });
23
24
 
24
25
  program
25
- .command('migrate:generate [nameOrPath]')
26
- .description('Generate migration from schema changes')
27
- .requiredOption('-d, --dataSource <path>', 'Path to DataSource file')
28
- .option('--name <name>', 'Migration name')
26
+ .command("migrate:generate [nameOrPath]")
27
+ .description("Generate migration from schema changes")
28
+ .requiredOption("-d, --dataSource <path>", "Path to DataSource file")
29
+ .option("--name <name>", "Migration name")
29
30
  .action(async (nameOrPath, options) => {
30
31
  await this.generateMigration(nameOrPath, options);
31
32
  });
32
33
 
33
34
  program
34
- .command('migrate:run')
35
- .description('Run pending migrations')
35
+ .command("migrate:run")
36
+ .description("Run pending migrations")
36
37
  .action(async () => {
37
38
  await this.runMigrations();
38
39
  });
39
40
 
40
41
  program
41
- .command('migrate:revert')
42
- .description('Revert the last migration')
42
+ .command("migrate:revert")
43
+ .description("Revert the last migration")
43
44
  .action(async () => {
44
45
  await this.revertMigration();
45
46
  });
46
47
 
47
48
  program
48
- .command('migrate:refresh')
49
- .description('Rollback all migrations and re-run them')
49
+ .command("migrate:refresh")
50
+ .description("Rollback all migrations and re-run them")
50
51
  .action(async () => {
51
52
  await this.refreshMigrations();
52
53
  });
53
54
 
54
55
  program
55
- .command('migrate:status')
56
- .description('Show migration status')
56
+ .command("migrate:status")
57
+ .description("Show migration status")
57
58
  .action(async () => {
58
59
  await this.showStatus();
59
60
  });
60
61
 
61
62
  program
62
- .command('schema:sync')
63
- .description('Synchronize database schema')
63
+ .command("schema:sync")
64
+ .description("Synchronize database schema")
64
65
  .action(async () => {
65
66
  await this.syncSchema();
66
67
  });
67
68
 
68
69
  program
69
- .command('schema:drop')
70
- .description('Drop database schema')
70
+ .command("schema:drop")
71
+ .description("Drop database schema")
71
72
  .action(async () => {
72
73
  await this.dropSchema();
73
74
  });
74
75
 
75
76
  program
76
- .command('seed')
77
- .description('Run database seeds')
77
+ .command("seed")
78
+ .description("Run database seeds")
78
79
  .action(async () => {
79
80
  await this.runSeeds();
80
81
  });
81
82
 
82
83
  program
83
- .command('seed:create <name>')
84
- .description('Create a new seed file')
84
+ .command("seed:create <name>")
85
+ .description("Create a new seed file")
85
86
  .action(async (name) => {
86
87
  await this.createSeed(name);
87
88
  });
@@ -93,49 +94,82 @@ export class MigrateCommand {
93
94
 
94
95
  private static async generateMigration(
95
96
  nameOrPath: string | undefined,
96
- options: { dataSource: string; name?: string }
97
+ options: { dataSource: string; name?: string },
97
98
  ): Promise<void> {
98
- const spinner = ora('Generating migration...').start();
99
+ const spinner = ora("Generating migration...").start();
99
100
 
100
101
  try {
102
+ // 1️⃣ Resolve DataSource file path
101
103
  const dataSourcePath = path.resolve(process.cwd(), options.dataSource);
102
104
  if (!fs.existsSync(dataSourcePath)) {
103
105
  throw new Error(`DataSource not found at ${dataSourcePath}`);
104
106
  }
105
107
 
106
- const timestamp = Date.now();
108
+ // 2️⃣ Import the DataSource dynamically
109
+ const imported = await import(dataSourcePath);
110
+ const dataSource: DataSource =
111
+ imported.default ?? imported.dataSource ?? imported.DataSource;
112
+
113
+ if (!dataSource) {
114
+ throw new Error(
115
+ `No DataSource exported from ${dataSourcePath}. Make sure you export a default DataSource instance.`,
116
+ );
117
+ }
118
+
119
+ // 3️⃣ Initialize the DataSource
120
+ if (!dataSource.isInitialized) {
121
+ await dataSource.initialize();
122
+ }
123
+
124
+ // 4️⃣ Generate schema change SQL
125
+ const schemaBuilder = dataSource.driver.createSchemaBuilder();
126
+ const sqlLog = await schemaBuilder.log();
127
+
128
+ // 5️⃣ Check if there are any changes
129
+ if (sqlLog.upQueries.length === 0 && sqlLog.downQueries.length === 0) {
130
+ spinner.info("No schema changes detected. Migration not generated.");
131
+ return;
132
+ }
133
+
134
+ // 6️⃣ Determine migration name
107
135
  const migrationName =
108
- options.name ||
109
- (nameOrPath ? path.basename(nameOrPath) : 'Migration');
136
+ options.name || (nameOrPath ? path.basename(nameOrPath) : "Migration");
137
+ const timestamp = Date.now();
110
138
 
111
- const isFullPath = nameOrPath?.includes('/') || nameOrPath?.includes('\\');
139
+ // 7️⃣ Set migrations directory
140
+ const migrationsDir = path.join(process.cwd(), "src", "migrations");
112
141
 
113
- const migrationsDir = isFullPath
114
- ? path.dirname(nameOrPath!)
115
- : path.join(process.cwd(), 'src', 'migrations');
142
+ // 8️⃣ Build SQL for up/down
143
+ const upSql = sqlLog.upQueries
144
+ .map((q) => `await queryRunner.query(\`${q.query}\`);`)
145
+ .join("\n");
146
+ const downSql = sqlLog.downQueries
147
+ .map((q) => `await queryRunner.query(\`${q.query}\`);`)
148
+ .join("\n");
116
149
 
150
+ // 9️⃣ Write the migration file
117
151
  const fileName = `${timestamp}-${migrationName}.ts`;
118
152
  const filePath = path.join(migrationsDir, fileName);
119
153
 
120
154
  const content = `import { MigrationInterface, QueryRunner } from 'typeorm';
121
155
 
122
- export class ${migrationName}${timestamp} implements MigrationInterface {
123
- async up(queryRunner: QueryRunner): Promise<void> {
124
- // Auto-generated migration
125
- }
156
+ export class ${migrationName}${timestamp} implements MigrationInterface {
157
+ async up(queryRunner: QueryRunner): Promise<void> {
158
+ ${upSql}
159
+ }
126
160
 
127
- async down(queryRunner: QueryRunner): Promise<void> {
128
- // Revert changes
161
+ async down(queryRunner: QueryRunner): Promise<void> {
162
+ ${downSql}
163
+ }
129
164
  }
130
- }
131
- `;
165
+ `;
132
166
 
133
167
  await fs.ensureDir(path.dirname(filePath));
134
168
  await fs.writeFile(filePath, content);
135
169
 
136
- spinner.succeed(`Migration generated: ${filePath}`);
170
+ spinner.succeed(`Migration generated successfully: ${filePath}`);
137
171
  } catch (error) {
138
- spinner.fail('Migration generation failed');
172
+ spinner.fail("Migration generation failed");
139
173
  console.error(chalk.red(error));
140
174
  }
141
175
  }
@@ -145,12 +179,12 @@ export class ${migrationName}${timestamp} implements MigrationInterface {
145
179
  // -----------------------------------------
146
180
 
147
181
  private static async createMigration(name: string): Promise<void> {
148
- const spinner = ora('Creating migration...').start();
182
+ const spinner = ora("Creating migration...").start();
149
183
 
150
184
  try {
151
185
  const timestamp = Date.now();
152
186
  const fileName = `${timestamp}-${name}.ts`;
153
- const filePath = path.join(process.cwd(), 'src', 'migrations', fileName);
187
+ const filePath = path.join(process.cwd(), "src", "migrations", fileName);
154
188
 
155
189
  const content = `import { MigrationInterface, QueryRunner } from 'typeorm';
156
190
 
@@ -166,93 +200,93 @@ export class ${name}${timestamp} implements MigrationInterface {
166
200
 
167
201
  spinner.succeed(`Migration created: ${fileName}`);
168
202
  } catch (error) {
169
- spinner.fail('Failed to create migration');
203
+ spinner.fail("Failed to create migration");
170
204
  console.error(chalk.red(error));
171
205
  }
172
206
  }
173
207
 
174
208
  private static async runMigrations(): Promise<void> {
175
- const spinner = ora('Running migrations...').start();
209
+ const spinner = ora("Running migrations...").start();
176
210
 
177
211
  try {
178
212
  await TypeORMModule.initialize();
179
213
  await TypeORMModule.runMigrations();
180
- spinner.succeed('Migrations completed successfully');
214
+ spinner.succeed("Migrations completed successfully");
181
215
  } catch (error) {
182
- spinner.fail('Migration failed');
216
+ spinner.fail("Migration failed");
183
217
  console.error(chalk.red(error));
184
218
  }
185
219
  }
186
220
 
187
221
  private static async revertMigration(): Promise<void> {
188
- const spinner = ora('Reverting migration...').start();
222
+ const spinner = ora("Reverting migration...").start();
189
223
 
190
224
  try {
191
225
  await TypeORMModule.initialize();
192
226
  await TypeORMModule.revertMigration();
193
- spinner.succeed('Migration reverted successfully');
227
+ spinner.succeed("Migration reverted successfully");
194
228
  } catch (error) {
195
- spinner.fail('Revert failed');
229
+ spinner.fail("Revert failed");
196
230
  console.error(chalk.red(error));
197
231
  }
198
232
  }
199
233
 
200
234
  private static async refreshMigrations(): Promise<void> {
201
- const spinner = ora('Refreshing migrations...').start();
235
+ const spinner = ora("Refreshing migrations...").start();
202
236
 
203
237
  try {
204
238
  await TypeORMModule.initialize();
205
239
  await TypeORMModule.dropSchema();
206
240
  await TypeORMModule.runMigrations();
207
- spinner.succeed('Migrations refreshed successfully');
241
+ spinner.succeed("Migrations refreshed successfully");
208
242
  } catch (error) {
209
- spinner.fail('Refresh failed');
243
+ spinner.fail("Refresh failed");
210
244
  console.error(chalk.red(error));
211
245
  }
212
246
  }
213
247
 
214
248
  private static async showStatus(): Promise<void> {
215
- console.log(chalk.blue('Migration Status:'));
216
- console.log(' Implement status checking using TypeORM QueryRunner');
249
+ console.log(chalk.blue("Migration Status:"));
250
+ console.log(" Implement status checking using TypeORM QueryRunner");
217
251
  }
218
252
 
219
253
  private static async syncSchema(): Promise<void> {
220
- const spinner = ora('Synchronizing schema...').start();
254
+ const spinner = ora("Synchronizing schema...").start();
221
255
 
222
256
  try {
223
257
  await TypeORMModule.initialize();
224
258
  await TypeORMModule.syncSchema();
225
- spinner.succeed('Schema synchronized');
259
+ spinner.succeed("Schema synchronized");
226
260
  } catch (error) {
227
- spinner.fail('Sync failed');
261
+ spinner.fail("Sync failed");
228
262
  console.error(chalk.red(error));
229
263
  }
230
264
  }
231
265
 
232
266
  private static async dropSchema(): Promise<void> {
233
- const spinner = ora('Dropping schema...').start();
267
+ const spinner = ora("Dropping schema...").start();
234
268
 
235
269
  try {
236
270
  await TypeORMModule.initialize();
237
271
  await TypeORMModule.dropSchema();
238
- spinner.succeed('Schema dropped');
272
+ spinner.succeed("Schema dropped");
239
273
  } catch (error) {
240
- spinner.fail('Drop failed');
274
+ spinner.fail("Drop failed");
241
275
  console.error(chalk.red(error));
242
276
  }
243
277
  }
244
278
 
245
279
  private static async runSeeds(): Promise<void> {
246
- const spinner = ora('Running seeds...').start();
280
+ const spinner = ora("Running seeds...").start();
247
281
 
248
282
  try {
249
- const seedsDir = path.join(process.cwd(), 'dist', 'seeds');
283
+ const seedsDir = path.join(process.cwd(), "dist", "seeds");
250
284
 
251
285
  if (fs.existsSync(seedsDir)) {
252
286
  const files = fs.readdirSync(seedsDir);
253
287
 
254
288
  for (const file of files) {
255
- if (file.endsWith('.js')) {
289
+ if (file.endsWith(".js")) {
256
290
  const seedModule = require(path.join(seedsDir, file));
257
291
  if (seedModule.default?.run) {
258
292
  await seedModule.default.run();
@@ -261,19 +295,19 @@ export class ${name}${timestamp} implements MigrationInterface {
261
295
  }
262
296
  }
263
297
 
264
- spinner.succeed('Seeds completed successfully');
298
+ spinner.succeed("Seeds completed successfully");
265
299
  } catch (error) {
266
- spinner.fail('Seed failed');
300
+ spinner.fail("Seed failed");
267
301
  console.error(chalk.red(error));
268
302
  }
269
303
  }
270
304
 
271
305
  private static async createSeed(name: string): Promise<void> {
272
- const spinner = ora('Creating seed...').start();
306
+ const spinner = ora("Creating seed...").start();
273
307
 
274
308
  try {
275
309
  const fileName = `${name}.seed.ts`;
276
- const filePath = path.join(process.cwd(), 'src', 'seeds', fileName);
310
+ const filePath = path.join(process.cwd(), "src", "seeds", fileName);
277
311
 
278
312
  const content = `export default class ${name}Seed {
279
313
  static async run() {
@@ -287,7 +321,7 @@ export class ${name}${timestamp} implements MigrationInterface {
287
321
 
288
322
  spinner.succeed(`Seed created: ${fileName}`);
289
323
  } catch (error) {
290
- spinner.fail('Failed to create seed');
324
+ spinner.fail("Failed to create seed");
291
325
  console.error(chalk.red(error));
292
326
  }
293
327
  }