11import { writeFile , mkdir } from "fs/promises" ;
2- import { join } from "path" ;
2+ import { resolve } from "path" ;
33import { Prompt } from "../../../utils/prompts" ;
44import {
55 generateMigrationId ,
@@ -8,7 +8,10 @@ import {
88 colors ,
99} from "../../../utils" ;
1010
11- export async function create ( name ?: string ) {
11+ export async function create (
12+ name ?: string ,
13+ config ?: { migrationsDir ?: string } ,
14+ ) {
1215 let migrationName = name ;
1316
1417 if ( ! migrationName ) {
@@ -34,11 +37,17 @@ export async function create(name?: string) {
3437 const spin = spinner ( "Creating migration..." ) . start ( ) ;
3538
3639 try {
37- const migrationsDir = join ( process . cwd ( ) , "prisma" , "migrations" ) ;
40+ const migrationsDir = resolve (
41+ process . cwd ( ) ,
42+ config ?. migrationsDir || "prisma/migrations" ,
43+ ) ;
3844 await mkdir ( migrationsDir , { recursive : true } ) ;
3945
4046 const timestamp = generateMigrationId ( ) ;
41- const migrationDir = join ( migrationsDir , `${ timestamp } _${ migrationName } ` ) ;
47+ const migrationDir = resolve (
48+ migrationsDir ,
49+ `${ timestamp } _${ migrationName } ` ,
50+ ) ;
4251
4352 await mkdir ( migrationDir , { recursive : true } ) ;
4453
@@ -53,7 +62,7 @@ export async function create(name?: string) {
5362
5463` ;
5564
56- await writeFile ( join ( migrationDir , "migration.sql" ) , migrationContent ) ;
65+ await writeFile ( resolve ( migrationDir , "migration.sql" ) , migrationContent ) ;
5766
5867 spin . succeed ( "Migration created" ) ;
5968
0 commit comments