@@ -2,11 +2,13 @@ import fs from 'node:fs';
22import path from 'node:path' ;
33import { CliError } from '../cli-error' ;
44import { execPrisma } from '../utils/exec-utils' ;
5- import { generateTempPrismaSchema , getSchemaFile } from './action-utils' ;
5+ import { generateTempPrismaSchema , getSchemaFile , requireDataSourceUrl } from './action-utils' ;
6+ import { run as runSeed } from './seed' ;
67
78type CommonOptions = {
89 schema ?: string ;
910 migrations ?: string ;
11+ skipSeed ?: boolean ;
1012} ;
1113
1214type DevOptions = CommonOptions & {
@@ -32,6 +34,10 @@ type ResolveOptions = CommonOptions & {
3234 */
3335export async function run ( command : string , options : CommonOptions ) {
3436 const schemaFile = getSchemaFile ( options . schema ) ;
37+
38+ // validate datasource url exists
39+ await requireDataSourceUrl ( schemaFile ) ;
40+
3541 const prismaSchemaDir = options . migrations ? path . dirname ( options . migrations ) : undefined ;
3642 const prismaSchemaFile = await generateTempPrismaSchema ( schemaFile , prismaSchemaDir ) ;
3743
@@ -70,6 +76,7 @@ function runDev(prismaSchemaFile: string, options: DevOptions) {
7076 'migrate dev' ,
7177 ` --schema "${ prismaSchemaFile } "` ,
7278 ' --skip-generate' ,
79+ ' --skip-seed' ,
7380 options . name ? ` --name "${ options . name } "` : '' ,
7481 options . createOnly ? ' --create-only' : '' ,
7582 ] . join ( '' ) ;
@@ -79,18 +86,23 @@ function runDev(prismaSchemaFile: string, options: DevOptions) {
7986 }
8087}
8188
82- function runReset ( prismaSchemaFile : string , options : ResetOptions ) {
89+ async function runReset ( prismaSchemaFile : string , options : ResetOptions ) {
8390 try {
8491 const cmd = [
8592 'migrate reset' ,
8693 ` --schema "${ prismaSchemaFile } "` ,
8794 ' --skip-generate' ,
95+ ' --skip-seed' ,
8896 options . force ? ' --force' : '' ,
8997 ] . join ( '' ) ;
9098 execPrisma ( cmd ) ;
9199 } catch ( err ) {
92100 handleSubProcessError ( err ) ;
93101 }
102+
103+ if ( ! options . skipSeed ) {
104+ await runSeed ( { noWarnings : true , printStatus : true } , [ ] ) ;
105+ }
94106}
95107
96108function runDeploy ( prismaSchemaFile : string , _options : DeployOptions ) {
0 commit comments