@deessejs/cli 0.3.1 → 0.4.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.
@@ -1,11 +1,14 @@
1
1
  /**
2
2
  * db:generate command
3
3
  *
4
- * Generates migrations from schema changes by spawning drizzle-kit CLI.
4
+ * Generates migrations from schema changes using drizzle-kit's programmatic API.
5
5
  *
6
6
  * Flow:
7
- * 1. Verify schema exists at ./src/db/schema.ts
8
- * 2. Spawn drizzle-kit generate command
7
+ * 1. Load schema from ./src/db/schema.ts
8
+ * 2. Get current schema snapshot using generateDrizzleJson
9
+ * 3. Get previous snapshot from ./src/db/meta/_snapshot.json (if exists)
10
+ * 4. Generate migration SQL using generateMigration
11
+ * 5. Save new snapshot and migration files
9
12
  */
10
13
  export interface DbGenerateOptions {
11
14
  cwd?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"db-generate.d.ts","sourceRoot":"","sources":["../../src/commands/db-generate.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B/E"}
1
+ {"version":3,"file":"db-generate.d.ts","sourceRoot":"","sources":["../../src/commands/db-generate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAeH,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgE/E"}
@@ -1,14 +1,25 @@
1
1
  /**
2
2
  * db:generate command
3
3
  *
4
- * Generates migrations from schema changes by spawning drizzle-kit CLI.
4
+ * Generates migrations from schema changes using drizzle-kit's programmatic API.
5
5
  *
6
6
  * Flow:
7
- * 1. Verify schema exists at ./src/db/schema.ts
8
- * 2. Spawn drizzle-kit generate command
7
+ * 1. Load schema from ./src/db/schema.ts
8
+ * 2. Get current schema snapshot using generateDrizzleJson
9
+ * 3. Get previous snapshot from ./src/db/meta/_snapshot.json (if exists)
10
+ * 4. Generate migration SQL using generateMigration
11
+ * 5. Save new snapshot and migration files
9
12
  */
10
- import { execSync } from 'node:child_process';
11
- import { verifySchemaPath, SCHEMA_PATH } from '../utils/schema-loader.js';
13
+ import * as fs from 'node:fs/promises';
14
+ import * as path from 'node:path';
15
+ import { createRequire } from 'node:module';
16
+ import { loadSchema, verifySchemaPath } from '../utils/schema-loader.js';
17
+ const require = createRequire(import.meta.url);
18
+ const { generateDrizzleJson, generateMigration } = require('drizzle-kit/api');
19
+ const SCHEMA_PATH = './src/db/schema.ts';
20
+ const MIGRATIONS_DIR = './src/db/migrations';
21
+ const SNAPSHOT_DIR = './src/db/meta';
22
+ const SNAPSHOT_FILE = '_snapshot.json';
12
23
  export async function dbGenerate(options = {}) {
13
24
  const cwd = options.cwd ?? process.cwd();
14
25
  // Verify schema file exists
@@ -19,18 +30,40 @@ export async function dbGenerate(options = {}) {
19
30
  throw new Error(`db:generate requires ${SCHEMA_PATH} to exist.\n` +
20
31
  `Please create this file and export your Drizzle tables.`);
21
32
  }
22
- console.warn('Generating migrations using drizzle-kit...');
33
+ // Ensure migrations directory exists
34
+ await fs.mkdir(path.join(cwd, MIGRATIONS_DIR), { recursive: true });
35
+ // Ensure snapshot directory exists
36
+ await fs.mkdir(path.join(cwd, SNAPSHOT_DIR), { recursive: true });
37
+ // Load the schema
38
+ const { schema } = await loadSchema();
39
+ // Generate current schema snapshot
40
+ const currentSchema = generateDrizzleJson(schema);
41
+ // Load previous snapshot (if exists)
42
+ let prevSchema = null;
43
+ const snapshotPath = path.join(cwd, SNAPSHOT_DIR, SNAPSHOT_FILE);
23
44
  try {
24
- execSync('npx drizzle-kit generate', {
25
- cwd,
26
- stdio: 'inherit',
27
- });
45
+ const snapshotContent = await fs.readFile(snapshotPath, 'utf-8');
46
+ prevSchema = JSON.parse(snapshotContent);
28
47
  }
29
- catch (error) {
30
- if (error.code === 'ENOENT') {
31
- throw new Error('drizzle-kit not found. Please install it: npm install drizzle-kit');
32
- }
33
- throw error;
48
+ catch {
49
+ // No previous snapshot - this is the first migration
50
+ console.warn('No previous snapshot found. This will be the first migration.');
51
+ }
52
+ // Generate migration SQL
53
+ const migrationSql = await generateMigration(prevSchema ?? undefined, currentSchema);
54
+ if (!migrationSql || migrationSql.length === 0) {
55
+ console.warn('No changes detected. No migration to generate.');
56
+ return;
34
57
  }
58
+ // Generate migration file name based on timestamp
59
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
60
+ const migrationName = `${timestamp}_migration.sql`;
61
+ const migrationPath = path.join(cwd, MIGRATIONS_DIR, migrationName);
62
+ // Save migration file
63
+ await fs.writeFile(migrationPath, migrationSql.join('\n\n'));
64
+ // Save new snapshot
65
+ await fs.writeFile(snapshotPath, JSON.stringify(currentSchema, null, 2));
66
+ console.warn(`Generated migration: ${migrationName}`);
67
+ console.warn(`Migration saved to: ${MIGRATIONS_DIR}/${migrationName}`);
35
68
  }
36
69
  //# sourceMappingURL=db-generate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"db-generate.js","sourceRoot":"","sources":["../../src/commands/db-generate.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAM1E,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,UAA6B,EAAE;IAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAEzC,4BAA4B;IAC5B,IAAI,CAAC;QACH,MAAM,gBAAgB,EAAE,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,wBAAwB,WAAW,cAAc;YACjD,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAE3D,IAAI,CAAC;QACH,QAAQ,CAAC,0BAA0B,EAAE;YACnC,GAAG;YACH,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"db-generate.js","sourceRoot":"","sources":["../../src/commands/db-generate.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,14 @@
1
1
  /**
2
2
  * db:introspect command
3
3
  *
4
- * Introspects the database by spawning drizzle-kit CLI.
4
+ * Verifies schema setup and provides instructions for introspecting database.
5
5
  *
6
- * Flow:
7
- * 1. Verify schema exists at ./src/db/schema.ts
8
- * 2. Spawn drizzle-kit introspect command
6
+ * For Drizzle, run:
7
+ * npx drizzle-kit introspect
9
8
  */
10
9
  export interface DbIntrospectOptions {
11
10
  cwd?: string;
12
11
  force?: boolean;
13
12
  }
14
- export declare function dbIntrospect(options?: DbIntrospectOptions): Promise<void>;
13
+ export declare function dbIntrospect(_options?: DbIntrospectOptions): Promise<void>;
15
14
  //# sourceMappingURL=db-introspect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"db-introspect.d.ts","sourceRoot":"","sources":["../../src/commands/db-introspect.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgDnF"}
1
+ {"version":3,"file":"db-introspect.d.ts","sourceRoot":"","sources":["../../src/commands/db-introspect.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,YAAY,CAAC,QAAQ,GAAE,mBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBpF"}
@@ -1,21 +1,14 @@
1
1
  /**
2
2
  * db:introspect command
3
3
  *
4
- * Introspects the database by spawning drizzle-kit CLI.
4
+ * Verifies schema setup and provides instructions for introspecting database.
5
5
  *
6
- * Flow:
7
- * 1. Verify schema exists at ./src/db/schema.ts
8
- * 2. Spawn drizzle-kit introspect command
6
+ * For Drizzle, run:
7
+ * npx drizzle-kit introspect
9
8
  */
10
- import { execSync } from 'node:child_process';
11
- import { SCHEMA_PATH } from '../utils/schema-loader.js';
12
9
  import { loadConfig } from '../utils/config.js';
13
10
  import { detectDialect } from '../utils/dialect.js';
14
- import * as fs from 'node:fs/promises';
15
- import * as path from 'node:path';
16
- import * as p from '@clack/prompts';
17
- export async function dbIntrospect(options = {}) {
18
- const { cwd = process.cwd(), force = false } = options;
11
+ export async function dbIntrospect(_options = {}) {
19
12
  // Load config to verify database is configured
20
13
  const { config } = await loadConfig();
21
14
  const db = config.database;
@@ -24,37 +17,18 @@ export async function dbIntrospect(options = {}) {
24
17
  }
25
18
  // Detect dialect
26
19
  const dialect = detectDialect(db);
27
- console.warn(`Introspecting ${dialect} database...`);
28
- // Check if schema file exists and warn
29
- const schemaPath = path.join(cwd, SCHEMA_PATH);
30
- try {
31
- await fs.access(schemaPath);
32
- if (!force) {
33
- const confirm = await p.confirm({
34
- message: `Warning: ${SCHEMA_PATH} already exists. Overwrite?`,
35
- initialValue: false,
36
- });
37
- if (p.isCancel(confirm) || !confirm) {
38
- p.cancel('Introspect cancelled.');
39
- return;
40
- }
41
- }
42
- }
43
- catch {
44
- // File doesn't exist, that's fine
45
- }
46
- console.warn('Introspecting database using drizzle-kit...');
47
- try {
48
- execSync('npx drizzle-kit introspect', {
49
- cwd,
50
- stdio: 'inherit',
51
- });
52
- }
53
- catch (error) {
54
- if (error.code === 'ENOENT') {
55
- throw new Error('drizzle-kit not found. Please install it: npm install drizzle-kit');
56
- }
57
- throw error;
58
- }
20
+ console.warn(`
21
+ Database Config OK
22
+
23
+ Detected dialect: ${dialect}
24
+
25
+ To introspect your database and generate a schema file, run:
26
+
27
+ npx drizzle-kit introspect
28
+
29
+ This will generate/update a schema file based on your database tables.
30
+
31
+ Note: This command requires a drizzle.config.ts file. See 'deesse db:generate' for setup.
32
+ `);
59
33
  }
60
34
  //# sourceMappingURL=db-introspect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"db-introspect.js","sourceRoot":"","sources":["../../src/commands/db-introspect.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAOpC,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,UAA+B,EAAE;IAClE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAEvD,+CAA+C;IAC/C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC;IACtC,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;IAE3B,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,iBAAiB;IACjB,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IAElC,OAAO,CAAC,IAAI,CAAC,iBAAiB,OAAO,cAAc,CAAC,CAAC;IAErD,uCAAuC;IACvC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC;gBAC9B,OAAO,EAAE,YAAY,WAAW,6BAA6B;gBAC7D,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;YAEH,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACpC,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;gBAClC,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,kCAAkC;IACpC,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAE5D,IAAI,CAAC;QACH,QAAQ,CAAC,4BAA4B,EAAE;YACrC,GAAG;YACH,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"db-introspect.js","sourceRoot":"","sources":["../../src/commands/db-introspect.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,WAAgC,EAAE;IACnE,+CAA+C;IAC/C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC;IACtC,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;IAE3B,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,iBAAiB;IACjB,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IAElC,OAAO,CAAC,IAAI,CAAC;;;oBAGK,OAAO;;;;;;;;;CAS1B,CAAC,CAAC;AACH,CAAC"}
@@ -1,15 +1,14 @@
1
1
  /**
2
2
  * db:migrate command
3
3
  *
4
- * Applies pending migrations by spawning drizzle-kit CLI.
4
+ * Verifies schema setup and provides instructions for applying migrations.
5
5
  *
6
- * Flow:
7
- * 1. Verify schema exists at ./src/db/schema.ts
8
- * 2. Spawn drizzle-kit migrate command
6
+ * For Drizzle, run:
7
+ * npx drizzle-kit migrate
9
8
  */
10
9
  export interface DbMigrateOptions {
11
10
  cwd?: string;
12
11
  dryRun?: boolean;
13
12
  }
14
- export declare function dbMigrate(options?: DbMigrateOptions): Promise<void>;
13
+ export declare function dbMigrate(_options?: DbMigrateOptions): Promise<void>;
15
14
  //# sourceMappingURL=db-migrate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"db-migrate.d.ts","sourceRoot":"","sources":["../../src/commands/db-migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC7E"}
1
+ {"version":3,"file":"db-migrate.d.ts","sourceRoot":"","sources":["../../src/commands/db-migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,SAAS,CAAC,QAAQ,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB9E"}
@@ -1,16 +1,13 @@
1
1
  /**
2
2
  * db:migrate command
3
3
  *
4
- * Applies pending migrations by spawning drizzle-kit CLI.
4
+ * Verifies schema setup and provides instructions for applying migrations.
5
5
  *
6
- * Flow:
7
- * 1. Verify schema exists at ./src/db/schema.ts
8
- * 2. Spawn drizzle-kit migrate command
6
+ * For Drizzle, run:
7
+ * npx drizzle-kit migrate
9
8
  */
10
- import { execSync } from 'node:child_process';
11
9
  import { verifySchemaPath, SCHEMA_PATH } from '../utils/schema-loader.js';
12
- export async function dbMigrate(options = {}) {
13
- const { cwd = process.cwd(), dryRun = false } = options;
10
+ export async function dbMigrate(_options = {}) {
14
11
  // Verify schema file exists
15
12
  try {
16
13
  await verifySchemaPath();
@@ -19,23 +16,18 @@ export async function dbMigrate(options = {}) {
19
16
  throw new Error(`db:migrate requires ${SCHEMA_PATH} to exist.\n` +
20
17
  `Please create this file and export your Drizzle tables.`);
21
18
  }
22
- console.warn('Applying migrations using drizzle-kit...');
23
- // Build the command
24
- const args = ['drizzle-kit', 'migrate'];
25
- if (dryRun) {
26
- args.push('--dry-run');
27
- }
28
- try {
29
- execSync(`npx ${args.join(' ')}`, {
30
- cwd,
31
- stdio: 'inherit',
32
- });
33
- }
34
- catch (error) {
35
- if (error.code === 'ENOENT') {
36
- throw new Error('drizzle-kit not found. Please install it: npm install drizzle-kit');
37
- }
38
- throw error;
39
- }
19
+ console.warn(`
20
+ Database Schema OK: ${SCHEMA_PATH}
21
+
22
+ To apply pending migrations with Drizzle, run:
23
+
24
+ npx drizzle-kit migrate
25
+
26
+ Use --dry-run to see what would be applied:
27
+
28
+ npx drizzle-kit migrate --dry
29
+
30
+ Note: This command requires a drizzle.config.ts file. See 'deesse db:generate' for setup.
31
+ `);
40
32
  }
41
33
  //# sourceMappingURL=db-migrate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"db-migrate.js","sourceRoot":"","sources":["../../src/commands/db-migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAO1E,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,UAA4B,EAAE;IAC5D,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAExD,4BAA4B;IAC5B,IAAI,CAAC;QACH,MAAM,gBAAgB,EAAE,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,uBAAuB,WAAW,cAAc;YAChD,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAEzD,oBAAoB;IACpB,MAAM,IAAI,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAExC,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;YAChC,GAAG;YACH,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"db-migrate.js","sourceRoot":"","sources":["../../src/commands/db-migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAO1E,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,WAA6B,EAAE;IAC7D,4BAA4B;IAC5B,IAAI,CAAC;QACH,MAAM,gBAAgB,EAAE,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,uBAAuB,WAAW,cAAc;YAChD,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,IAAI,CAAC;sBACO,WAAW;;;;;;;;;;;CAWhC,CAAC,CAAC;AACH,CAAC"}
@@ -1,11 +1,13 @@
1
1
  /**
2
2
  * db:push command
3
3
  *
4
- * Pushes schema changes directly to the database by spawning drizzle-kit CLI.
4
+ * Pushes schema changes directly to the database using drizzle-kit's pushSchema.
5
5
  *
6
6
  * Flow:
7
- * 1. Verify schema exists at ./src/db/schema.ts
8
- * 2. Spawn drizzle-kit push command
7
+ * 1. Load schema from ./src/db/schema.ts
8
+ * 2. Load config to get database instance
9
+ * 3. Call pushSchema with the schema
10
+ * 4. Show warnings and apply
9
11
  */
10
12
  export interface DbPushOptions {
11
13
  force?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"db-push.d.ts","sourceRoot":"","sources":["../../src/commands/db-push.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCvE"}
1
+ {"version":3,"file":"db-push.d.ts","sourceRoot":"","sources":["../../src/commands/db-push.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAUH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DvE"}
@@ -1,16 +1,22 @@
1
1
  /**
2
2
  * db:push command
3
3
  *
4
- * Pushes schema changes directly to the database by spawning drizzle-kit CLI.
4
+ * Pushes schema changes directly to the database using drizzle-kit's pushSchema.
5
5
  *
6
6
  * Flow:
7
- * 1. Verify schema exists at ./src/db/schema.ts
8
- * 2. Spawn drizzle-kit push command
7
+ * 1. Load schema from ./src/db/schema.ts
8
+ * 2. Load config to get database instance
9
+ * 3. Call pushSchema with the schema
10
+ * 4. Show warnings and apply
9
11
  */
10
- import { execSync } from 'node:child_process';
11
- import { verifySchemaPath, SCHEMA_PATH } from '../utils/schema-loader.js';
12
+ import { createRequire } from 'node:module';
13
+ import { verifySchemaPath, SCHEMA_PATH, loadSchema } from '../utils/schema-loader.js';
14
+ import { loadConfig } from '../utils/config.js';
15
+ import * as p from '@clack/prompts';
16
+ const require = createRequire(import.meta.url);
17
+ const { pushSchema } = require('drizzle-kit/api');
12
18
  export async function dbPush(options = {}) {
13
- const { force = false, cwd = process.cwd() } = options;
19
+ const { force = false } = options;
14
20
  // Verify schema file exists
15
21
  try {
16
22
  await verifySchemaPath();
@@ -19,23 +25,46 @@ export async function dbPush(options = {}) {
19
25
  throw new Error(`db:push requires ${SCHEMA_PATH} to exist.\n` +
20
26
  `Please create this file and export your Drizzle tables.`);
21
27
  }
22
- console.warn('Pushing schema changes to database using drizzle-kit...');
23
- // Build the command
24
- const args = ['drizzle-kit', 'push'];
25
- if (force) {
26
- args.push('--force');
28
+ // Load config to get database instance
29
+ const { config } = await loadConfig();
30
+ const db = config.database;
31
+ if (!db) {
32
+ throw new Error('Config does not have a database instance');
27
33
  }
28
- try {
29
- execSync(`npx ${args.join(' ')}`, {
30
- cwd,
31
- stdio: 'inherit',
34
+ // Load the schema
35
+ const { schema } = await loadSchema();
36
+ // Push schema to database
37
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
38
+ const result = await pushSchema(schema, db);
39
+ // Check for data loss
40
+ if (result.hasDataLoss && !force) {
41
+ p.note('The following changes may cause data loss:', 'Warning');
42
+ for (const warning of result.warnings) {
43
+ console.warn(` - ${warning}`);
44
+ }
45
+ console.warn('');
46
+ const confirm = await p.confirm({
47
+ message: 'Do you want to apply these changes anyway?',
48
+ initialValue: false,
32
49
  });
50
+ if (p.isCancel(confirm) || !confirm) {
51
+ p.cancel('Push cancelled.');
52
+ return;
53
+ }
54
+ }
55
+ else if (result.warnings.length > 0) {
56
+ p.note(result.warnings.join('\n'), 'Warnings');
33
57
  }
34
- catch (error) {
35
- if (error.code === 'ENOENT') {
36
- throw new Error('drizzle-kit not found. Please install it: npm install drizzle-kit');
58
+ // Show statements that will be executed
59
+ if (result.statementsToExecute.length > 0) {
60
+ console.warn('The following SQL will be executed:');
61
+ for (const stmt of result.statementsToExecute) {
62
+ console.warn(` ${stmt}`);
37
63
  }
38
- throw error;
64
+ console.warn('');
39
65
  }
66
+ // Apply the changes
67
+ await result.apply();
68
+ console.warn(`Successfully pushed ${result.statementsToExecute.length} changes to the database.`);
40
69
  }
41
70
  //# sourceMappingURL=db-push.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"db-push.js","sourceRoot":"","sources":["../../src/commands/db-push.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAO1E,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,UAAyB,EAAE;IACtD,MAAM,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAEvD,4BAA4B;IAC5B,IAAI,CAAC;QACH,MAAM,gBAAgB,EAAE,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,oBAAoB,WAAW,cAAc;YAC7C,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IAExE,oBAAoB;IACpB,MAAM,IAAI,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAErC,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;YAChC,GAAG;YACH,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"db-push.js","sourceRoot":"","sources":["../../src/commands/db-push.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,10 @@
1
1
  /**
2
2
  * db:studio command
3
3
  *
4
- * Opens Drizzle Studio (database browser) by spawning drizzle-kit CLI.
4
+ * Verifies schema setup and provides instructions for opening Drizzle Studio.
5
5
  *
6
- * Flow:
7
- * 1. Verify schema exists
8
- * 2. Spawn drizzle-kit studio command with appropriate arguments
6
+ * For Drizzle, run:
7
+ * npx drizzle-kit studio
9
8
  */
10
9
  export interface DbStudioOptions {
11
10
  port?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"db-studio.d.ts","sourceRoot":"","sources":["../../src/commands/db-studio.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmE3E"}
1
+ {"version":3,"file":"db-studio.d.ts","sourceRoot":"","sources":["../../src/commands/db-studio.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6C3E"}
@@ -1,18 +1,15 @@
1
1
  /**
2
2
  * db:studio command
3
3
  *
4
- * Opens Drizzle Studio (database browser) by spawning drizzle-kit CLI.
4
+ * Verifies schema setup and provides instructions for opening Drizzle Studio.
5
5
  *
6
- * Flow:
7
- * 1. Verify schema exists
8
- * 2. Spawn drizzle-kit studio command with appropriate arguments
6
+ * For Drizzle, run:
7
+ * npx drizzle-kit studio
9
8
  */
10
- import { execSync } from 'node:child_process';
11
9
  import { verifySchemaPath, SCHEMA_PATH } from '../utils/schema-loader.js';
12
10
  import { detectDialect } from '../utils/dialect.js';
13
11
  import { loadConfig } from '../utils/config.js';
14
12
  export async function dbStudio(options = {}) {
15
- const cwd = options.cwd ?? process.cwd();
16
13
  const port = options.port ?? parseInt(process.env['DB_STUDIO_PORT'] ?? '4983', 10);
17
14
  const host = options.host ?? process.env['DB_STUDIO_HOST'] ?? '127.0.0.1';
18
15
  // Verify schema file exists
@@ -35,38 +32,18 @@ export async function dbStudio(options = {}) {
35
32
  throw new Error(`Drizzle Studio currently only supports PostgreSQL.\n` +
36
33
  `Detected dialect: ${dialect}`);
37
34
  }
38
- // Build drizzle-kit studio command
39
- // Note: drizzle-kit studio uses drizzle.config.ts which we don't have
40
- // So we use a different approach - spawn drizzle-kit with --schema pointing to our schema
41
- const args = [
42
- 'drizzle-kit',
43
- 'studio',
44
- '--port', String(port),
45
- '--host', host,
46
- ];
47
- console.warn(`Starting Drizzle Studio...`);
48
- console.warn(`Command: npx ${args.join(' ')}`);
49
- console.warn('');
50
- console.warn(`Note: This command requires a drizzle.config.ts file.`);
51
- console.warn(`Since we don't use drizzle.config.ts, please either:`);
52
- console.warn(`1. Create a minimal drizzle.config.ts pointing to your schema`);
53
- console.warn(`2. Or use 'npx drizzle-kit studio' directly with a config file`);
54
- console.warn('');
55
- // Try to spawn drizzle-kit anyway - it might work if user has a config
56
- try {
57
- execSync(`npx ${args.join(' ')}`, {
58
- cwd,
59
- stdio: 'inherit',
60
- });
61
- }
62
- catch (error) {
63
- if (error.code === 'ENOENT') {
64
- throw new Error('drizzle-kit not found. Please install it: npm install drizzle-kit');
65
- }
66
- // Drizzle-kit studio might fail if no config - show helpful message
67
- console.warn('Drizzle Studio requires a drizzle.config.ts file to work.');
68
- console.warn('For now, please use: npx drizzle-kit studio');
69
- throw error;
70
- }
35
+ console.warn(`
36
+ Database Schema OK: ${SCHEMA_PATH}
37
+
38
+ To open Drizzle Studio, run:
39
+
40
+ npx drizzle-kit studio
41
+
42
+ Or with custom host/port:
43
+
44
+ npx drizzle-kit studio --host ${host} --port ${port}
45
+
46
+ Note: Drizzle Studio requires a drizzle.config.ts file. See 'deesse db:generate' for setup.
47
+ `);
71
48
  }
72
49
  //# sourceMappingURL=db-studio.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"db-studio.js","sourceRoot":"","sources":["../../src/commands/db-studio.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAQhD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,UAA2B,EAAE;IAC1D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;IACnF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,WAAW,CAAC;IAE1E,4BAA4B;IAC5B,IAAI,CAAC;QACH,MAAM,gBAAgB,EAAE,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,sBAAsB,WAAW,cAAc;YAC/C,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IAED,+CAA+C;IAC/C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC;IACtC,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;IAE3B,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,iBAAiB;IACjB,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IAElC,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,sDAAsD;YACtD,qBAAqB,OAAO,EAAE,CAC/B,CAAC;IACJ,CAAC;IAED,mCAAmC;IACnC,sEAAsE;IACtE,0FAA0F;IAC1F,MAAM,IAAI,GAAG;QACX,aAAa;QACb,QAAQ;QACR,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC;QACtB,QAAQ,EAAE,IAAI;KACf,CAAC;IAEF,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC3C,OAAO,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;IACtE,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;IACrE,OAAO,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IAC9E,OAAO,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;IAC/E,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEjB,uEAAuE;IACvE,IAAI,CAAC;QACH,QAAQ,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;YAChC,GAAG;YACH,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACvF,CAAC;QACD,oEAAoE;QACpE,OAAO,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC5D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"db-studio.js","sourceRoot":"","sources":["../../src/commands/db-studio.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAQhD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,UAA2B,EAAE;IAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;IACnF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,WAAW,CAAC;IAE1E,4BAA4B;IAC5B,IAAI,CAAC;QACH,MAAM,gBAAgB,EAAE,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,sBAAsB,WAAW,cAAc;YAC/C,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IAED,+CAA+C;IAC/C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC;IACtC,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;IAE3B,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,iBAAiB;IACjB,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IAElC,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,sDAAsD;YACtD,qBAAqB,OAAO,EAAE,CAC/B,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,IAAI,CAAC;sBACO,WAAW;;;;;;;;kCAQC,IAAI,WAAW,IAAI;;;CAGpD,CAAC,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deessejs/cli",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "DeesseJS CLI for managing DeesseJS projects",
5
5
  "type": "module",
6
6
  "bin": {
@@ -24,7 +24,8 @@
24
24
  "author": "DeesseJS",
25
25
  "license": "MIT",
26
26
  "dependencies": {
27
- "@clack/prompts": "^0.8.2"
27
+ "@clack/prompts": "^0.8.2",
28
+ "drizzle-kit": "^0.30.0"
28
29
  },
29
30
  "devDependencies": {
30
31
  "@types/node": "^22.10.6",