@prisma/migrate 6.6.0-dev.10 → 6.6.0-dev.100

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 (166) hide show
  1. package/dist/CLI.js +3 -3
  2. package/dist/Migrate.js +9 -6
  3. package/dist/SchemaEngine.js +0 -28
  4. package/dist/SchemaEngineCLI.js +29 -0
  5. package/dist/{utils/getSchemaPathAndPrint.js → SchemaEngineWasm.js} +8 -8
  6. package/dist/bin.js +52 -50
  7. package/dist/chunk-23DZXSTI.js +62 -0
  8. package/dist/{chunk-WWAWV7DQ.js → chunk-2ESYSVXG.js} +3 -27
  9. package/dist/{chunk-LKTTJWFT.js → chunk-2R6DII47.js} +5 -5
  10. package/dist/chunk-33LPBNDX.js +1399 -0
  11. package/dist/{chunk-MKK3GSDF.js → chunk-344G2PKM.js} +9 -9
  12. package/dist/{chunk-V3ZMNXZC.js → chunk-5LKIRKDL.js} +307 -382
  13. package/dist/{chunk-LOGAFLCN.js → chunk-5R44VVVX.js} +29 -29
  14. package/dist/{chunk-DJMFXNR4.js → chunk-74LUB4XX.js} +56 -57
  15. package/dist/{chunk-GG54LOYV.js → chunk-A4FQW4A5.js} +54 -50
  16. package/dist/{chunk-RP2N6UXA.js → chunk-AI6DH66U.js} +6 -6
  17. package/dist/{chunk-A6PMXMMT.js → chunk-AUGZZ6RT.js} +105 -13
  18. package/dist/{chunk-G2XUUMKH.js → chunk-B4SUSDC2.js} +31 -39
  19. package/dist/{chunk-N4XTKFY6.js → chunk-CLSF7VUT.js} +42 -38
  20. package/dist/{chunk-2B4IAB6L.js → chunk-CNCVJ2IN.js} +377 -532
  21. package/dist/{chunk-IR55GBON.js → chunk-CU5UT2ED.js} +19 -18
  22. package/dist/{chunk-CQZFVAXC.js → chunk-CYEVXXRH.js} +51 -47
  23. package/dist/{chunk-W2SZNLK4.js → chunk-EJG7GKM7.js} +37 -39
  24. package/dist/{chunk-5PSO7BDO.js → chunk-EJUXYFV3.js} +15 -15
  25. package/dist/{chunk-KS7IEA6Z.js → chunk-HIDSEBVV.js} +55 -54
  26. package/dist/{chunk-ZOEKRXDP.js → chunk-I3LT2PO3.js} +35 -57
  27. package/dist/{chunk-N3KYWSX2.js → chunk-IEEJZC3B.js} +56 -49
  28. package/dist/{chunk-MCWCB2AX.js → chunk-IINN7QUV.js} +170 -643
  29. package/dist/chunk-IK3BVD3Y.js +233 -0
  30. package/dist/{chunk-255BRND3.js → chunk-KRQEFTDT.js} +6 -6
  31. package/dist/{chunk-HCBZB4XC.js → chunk-KW633S3Y.js} +56 -52
  32. package/dist/{chunk-VVKOFN3Y.js → chunk-LLO7YF56.js} +44 -46
  33. package/dist/{chunk-VZ23KD5C.js → chunk-NGQA5JTN.js} +8 -10
  34. package/dist/{chunk-MATFO4ZW.js → chunk-OEWQACEH.js} +38 -39
  35. package/dist/chunk-PQKZ53DW.js +76 -0
  36. package/dist/{chunk-EGPJABTW.js → chunk-QVMYNWAN.js} +257 -103
  37. package/dist/{chunk-WI2A2TQE.js → chunk-SO3VXCZV.js} +93 -92
  38. package/dist/{chunk-V5TUSOJX.js → chunk-SQKGZVG3.js} +45 -45
  39. package/dist/chunk-URKH6SE2.js +479 -0
  40. package/dist/{chunk-DLLXDCI2.js → chunk-VAJ4VX67.js} +5 -6
  41. package/dist/{chunk-5GVIOOXU.js → chunk-W5SQWSLC.js} +378 -533
  42. package/dist/{chunk-Q3ZLC44N.js → chunk-YBS5GSRF.js} +64 -69
  43. package/dist/{chunk-OCQGHQED.js → chunk-YBX7R3MT.js} +12 -12
  44. package/dist/chunk-YSWLN2IJ.js +890 -0
  45. package/dist/commands/DbCommand.js +3 -3
  46. package/dist/commands/DbDrop.js +4 -5
  47. package/dist/commands/DbExecute.js +10 -7
  48. package/dist/commands/DbPull.js +17 -12
  49. package/dist/commands/DbPush.js +12 -10
  50. package/dist/commands/DbSeed.js +4 -5
  51. package/dist/commands/MigrateCommand.js +3 -3
  52. package/dist/commands/MigrateDeploy.js +14 -12
  53. package/dist/commands/MigrateDev.js +17 -15
  54. package/dist/commands/MigrateDiff.js +13 -10
  55. package/dist/commands/MigrateReset.js +16 -14
  56. package/dist/commands/MigrateResolve.js +12 -10
  57. package/dist/commands/MigrateStatus.js +12 -10
  58. package/dist/index.js +58 -57
  59. package/dist/internals/src/Generator.d.ts +23 -5
  60. package/dist/internals/src/WasmSchemaEngineLoader.d.ts +5 -0
  61. package/dist/internals/src/cli/checkUnsupportedDataProxy.d.ts +12 -17
  62. package/dist/internals/src/cli/directoryConfig.d.ts +7 -0
  63. package/dist/internals/src/cli/getSchema.d.ts +3 -28
  64. package/dist/internals/src/cli/hashes.d.ts +1 -2
  65. package/dist/internals/src/cli/schemaContext.d.ts +59 -0
  66. package/dist/internals/src/client/getClientEngineType.d.ts +1 -1
  67. package/dist/internals/src/convertCredentials.d.ts +1 -1
  68. package/dist/internals/src/engine-commands/getConfig.d.ts +1 -5
  69. package/dist/internals/src/engine-commands/getDmmf.d.ts +3 -6
  70. package/dist/internals/src/engine-commands/lintSchema.d.ts +1 -1
  71. package/dist/internals/src/errorReporting.d.ts +0 -1
  72. package/dist/internals/src/get-generators/getGenerators.d.ts +22 -9
  73. package/dist/internals/src/get-generators/utils/binaryTypeToEngineType.d.ts +1 -1
  74. package/dist/internals/src/get-generators/utils/engineTypeToBinaryType.d.ts +1 -1
  75. package/dist/internals/src/get-generators/utils/fixBinaryTargets.d.ts +1 -1
  76. package/dist/internals/src/get-generators/utils/getBinaryPathsByVersion.d.ts +1 -1
  77. package/dist/internals/src/get-generators/utils/getEngineVersionForGenerator.d.ts +1 -1
  78. package/dist/internals/src/get-generators/utils/printGeneratorConfig.d.ts +1 -1
  79. package/dist/internals/src/index.d.ts +9 -8
  80. package/dist/internals/src/migrateTypes.d.ts +63 -0
  81. package/dist/internals/src/panic.d.ts +1 -4
  82. package/dist/internals/src/resolvePkg.d.ts +7 -0
  83. package/dist/internals/src/types.d.ts +1 -1
  84. package/dist/internals/src/utils/extractPreviewFeatures.d.ts +2 -2
  85. package/dist/internals/src/utils/getEnvPaths.d.ts +1 -1
  86. package/dist/internals/src/utils/parseEnvValue.d.ts +1 -1
  87. package/dist/internals/src/utils/schemaFileInput.d.ts +0 -4
  88. package/dist/internals/src/utils/toSchemasContainer.d.ts +2 -3
  89. package/dist/internals/src/wasm.d.ts +3 -1
  90. package/dist/migrate/src/Migrate.d.ts +18 -7
  91. package/dist/migrate/src/SchemaEngine.d.ts +20 -50
  92. package/dist/migrate/src/SchemaEngineCLI.d.ts +139 -0
  93. package/dist/migrate/src/SchemaEngineWasm.d.ts +134 -0
  94. package/dist/migrate/src/commands/DbExecute.d.ts +1 -1
  95. package/dist/migrate/src/commands/DbPull.d.ts +1 -1
  96. package/dist/migrate/src/commands/DbPush.d.ts +1 -1
  97. package/dist/migrate/src/commands/MigrateDeploy.d.ts +1 -1
  98. package/dist/migrate/src/commands/MigrateDev.d.ts +1 -1
  99. package/dist/migrate/src/commands/MigrateDiff.d.ts +1 -1
  100. package/dist/migrate/src/commands/MigrateReset.d.ts +1 -1
  101. package/dist/migrate/src/commands/MigrateResolve.d.ts +1 -1
  102. package/dist/migrate/src/commands/MigrateStatus.d.ts +1 -1
  103. package/dist/migrate/src/index.d.ts +2 -2
  104. package/dist/migrate/src/types.d.ts +19 -19
  105. package/dist/migrate/src/utils/createMigration.d.ts +21 -0
  106. package/dist/migrate/src/utils/ensureDatabaseExists.d.ts +4 -6
  107. package/dist/migrate/src/utils/introspectSql.d.ts +3 -2
  108. package/dist/migrate/src/utils/listMigrations.d.ts +9 -0
  109. package/dist/migrate/src/utils/printDatasources.d.ts +1 -1
  110. package/dist/migrate/src/utils/seed.d.ts +0 -2
  111. package/dist/migrate/src/views/handleViewsIO.d.ts +2 -2
  112. package/dist/{multipart-parser-54WEFGGN-NLZG56KM.js → multipart-parser-ASKQAOL4-WZ47HU6G.js} +92 -125
  113. package/dist/{multipart-parser-NDLECNMN.js → multipart-parser-QCI3Y5IB.js} +66 -68
  114. package/dist/types.js +1 -1
  115. package/dist/{typescript-WN4QH2CP.js → typescript-2LKASCMC.js} +33 -33
  116. package/dist/{typescript-AILDXN3I.js → typescript-H3AVJ6KX.js} +32 -32
  117. package/dist/utils/byline.js +1 -1
  118. package/dist/utils/captureStdout.js +3 -3
  119. package/dist/utils/countModelsAndTypes.js +1 -1
  120. package/dist/utils/createMigration.js +27 -0
  121. package/dist/utils/customColors.js +1 -1
  122. package/dist/utils/ensureDatabaseExists.js +7 -7
  123. package/dist/utils/errors.js +1 -1
  124. package/dist/utils/flagErrors.js +1 -1
  125. package/dist/utils/getDatabaseVersionSafe.js +10 -5
  126. package/dist/utils/handleEvaluateDataloss.js +1 -1
  127. package/dist/utils/introspectSql.js +10 -5
  128. package/dist/utils/isSchemaEmpty.js +1 -1
  129. package/dist/utils/listMigrations.js +25 -0
  130. package/dist/utils/now.js +1 -1
  131. package/dist/utils/printDatasource.js +1 -1
  132. package/dist/utils/printDatasources.js +5 -5
  133. package/dist/utils/printFiles.js +5 -5
  134. package/dist/utils/printIntrospectedSchema.js +1 -1
  135. package/dist/utils/printMigrationId.js +1 -1
  136. package/dist/utils/promptForMigrationName.js +3 -3
  137. package/dist/utils/removeSchemaFiles.js +1 -1
  138. package/dist/utils/replaceOrAddDatasource.js +1 -1
  139. package/dist/utils/replaceOrAddDatasource.test.js +1 -1
  140. package/dist/utils/saveSchemaFiles.js +1 -1
  141. package/dist/utils/seed.js +4 -7
  142. package/dist/utils/setupCockroach.js +3 -3
  143. package/dist/utils/setupMSSQL.js +1478 -707
  144. package/dist/utils/setupMongo.js +553 -552
  145. package/dist/utils/setupMysql.js +508 -563
  146. package/dist/utils/setupPostgres.js +3 -3
  147. package/dist/utils/spinner.js +4 -3
  148. package/dist/utils/test-handlePanic.js +1 -30
  149. package/dist/utils/unixSocket.js +1 -1
  150. package/dist/views/handleViewsIO.js +3 -3
  151. package/package.json +12 -11
  152. package/dist/chunk-GKDFIHM2.js +0 -45
  153. package/dist/chunk-J46BJQHT.js +0 -268
  154. package/dist/chunk-KOF4LGTS.js +0 -1817
  155. package/dist/chunk-YYPMC5FN.js +0 -1407
  156. package/dist/internals/src/get-generators/generatorResolvers/generatorResolvers.d.ts +0 -15
  157. package/dist/internals/src/get-generators/generatorResolvers/prisma-client-js/auto-installation/findPrismaClientDir.d.ts +0 -6
  158. package/dist/internals/src/get-generators/generatorResolvers/prisma-client-js/auto-installation/getPackageCmd.d.ts +0 -9
  159. package/dist/internals/src/get-generators/generatorResolvers/prisma-client-js/auto-installation/runPackageCmd.d.ts +0 -8
  160. package/dist/internals/src/get-generators/generatorResolvers/prisma-client-js/check-dependencies/checkTypeScriptVersion.d.ts +0 -6
  161. package/dist/internals/src/get-generators/generatorResolvers/prisma-client-js/check-dependencies/isYarnUsed.d.ts +0 -1
  162. package/dist/internals/src/get-generators/generatorResolvers/prisma-client-js/check-dependencies/resolve.d.ts +0 -20
  163. package/dist/internals/src/get-generators/generatorResolvers/prisma-client-js/check-dependencies/semverLt.d.ts +0 -7
  164. package/dist/internals/src/get-generators/generatorResolvers/prisma-client-js/prismaClientResolver.d.ts +0 -20
  165. package/dist/internals/src/get-generators/utils/check-feature-flags/checkFeatureFlags.d.ts +0 -8
  166. package/dist/migrate/src/utils/getSchemaPathAndPrint.d.ts +0 -10
@@ -26,37 +26,75 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_WI2A2TQE_exports = {};
30
- __export(chunk_WI2A2TQE_exports, {
29
+ var chunk_SO3VXCZV_exports = {};
30
+ __export(chunk_SO3VXCZV_exports, {
31
31
  DbPull: () => DbPull
32
32
  });
33
- module.exports = __toCommonJS(chunk_WI2A2TQE_exports);
34
- var import_chunk_MCWCB2AX = require("./chunk-MCWCB2AX.js");
35
- var import_chunk_RTGQXNX6 = require("./chunk-RTGQXNX6.js");
36
- var import_chunk_RP2N6UXA = require("./chunk-RP2N6UXA.js");
37
- var import_chunk_AHJ2N6BJ = require("./chunk-AHJ2N6BJ.js");
33
+ module.exports = __toCommonJS(chunk_SO3VXCZV_exports);
34
+ var import_chunk_IINN7QUV = require("./chunk-IINN7QUV.js");
38
35
  var import_chunk_JZ75RIMZ = require("./chunk-JZ75RIMZ.js");
39
36
  var import_chunk_RR6BKMNO = require("./chunk-RR6BKMNO.js");
37
+ var import_chunk_RTGQXNX6 = require("./chunk-RTGQXNX6.js");
40
38
  var import_chunk_JFKDSUIE = require("./chunk-JFKDSUIE.js");
39
+ var import_chunk_AI6DH66U = require("./chunk-AI6DH66U.js");
40
+ var import_chunk_AHJ2N6BJ = require("./chunk-AHJ2N6BJ.js");
41
41
  var import_chunk_LGYRZ6CV = require("./chunk-LGYRZ6CV.js");
42
- var import_chunk_ZOEKRXDP = require("./chunk-ZOEKRXDP.js");
43
- var import_chunk_MATFO4ZW = require("./chunk-MATFO4ZW.js");
44
42
  var import_chunk_3WC4XD74 = require("./chunk-3WC4XD74.js");
45
43
  var import_chunk_QOPTDDIH = require("./chunk-QOPTDDIH.js");
46
- var import_chunk_DJMFXNR4 = require("./chunk-DJMFXNR4.js");
44
+ var import_chunk_74LUB4XX = require("./chunk-74LUB4XX.js");
45
+ var import_chunk_YSWLN2IJ = require("./chunk-YSWLN2IJ.js");
46
+ var import_chunk_OEWQACEH = require("./chunk-OEWQACEH.js");
47
47
  var import_chunk_SKRR5WT4 = require("./chunk-SKRR5WT4.js");
48
- var import_chunk_WWAWV7DQ = require("./chunk-WWAWV7DQ.js");
49
48
  var import_debug = __toESM(require("@prisma/debug"));
50
49
  var import_internals = require("@prisma/internals");
51
50
  var import_path = __toESM(require("path"));
52
51
  var debug = (0, import_debug.default)("prisma:db:pull");
53
- var _DbPull = class _DbPull2 {
52
+ var DbPull = class _DbPull {
54
53
  static new() {
55
- return new _DbPull2();
54
+ return new _DbPull();
56
55
  }
56
+ static help = (0, import_internals.format)(`
57
+ Pull the state from the database to the Prisma schema using introspection
58
+
59
+ ${(0, import_chunk_SKRR5WT4.bold)("Usage")}
60
+
61
+ ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db pull [flags/options]
62
+
63
+ ${(0, import_chunk_SKRR5WT4.bold)("Flags")}
64
+
65
+ -h, --help Display this help message
66
+ --force Ignore current Prisma schema file
67
+ --print Print the introspected Prisma schema to stdout
68
+
69
+ ${(0, import_chunk_SKRR5WT4.bold)("Options")}
70
+
71
+ --config Custom path to your Prisma config file
72
+ --schema Custom path to your Prisma schema
73
+ --composite-type-depth Specify the depth for introspecting composite types (e.g. Embedded Documents in MongoDB)
74
+ Number, default is -1 for infinite depth, 0 = off
75
+ --schemas Specify the database schemas to introspect. This overrides the schemas defined in the datasource block of your Prisma schema.
76
+ --local-d1 Generate a Prisma schema from a local Cloudflare D1 database
77
+ ${(0, import_chunk_SKRR5WT4.bold)("Examples")}
78
+
79
+ With an existing Prisma schema
80
+ ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db pull
81
+
82
+ Or specify a Prisma schema path
83
+ ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db pull --schema=./schema.prisma
84
+
85
+ Instead of saving the result to the filesystem, you can also print it to stdout
86
+ ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db pull --print
87
+
88
+ Overwrite the current schema with the introspected schema instead of enriching it
89
+ ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db pull --force
90
+
91
+ Set composite types introspection depth to 2 levels
92
+ ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db pull --composite-type-depth=2
93
+
94
+ `);
57
95
  urlToDatasource(url, defaultProvider) {
58
96
  const provider = defaultProvider || (0, import_internals.protocolToConnectorType)(`${url.split(":")[0]}:`);
59
- return (0, import_chunk_RP2N6UXA.printDatasources)([
97
+ return (0, import_chunk_AI6DH66U.printDatasources)([
60
98
  {
61
99
  config: {},
62
100
  provider,
@@ -80,47 +118,50 @@ var _DbPull = class _DbPull2 {
80
118
  "--local-d1": Boolean
81
119
  // optional, only on cloudflare D1
82
120
  });
83
- const spinnerFactory = (0, import_chunk_MCWCB2AX.createSpinner)(!args["--print"]);
121
+ const spinnerFactory = (0, import_chunk_IINN7QUV.createSpinner)(!args["--print"]);
84
122
  if (args instanceof Error) {
85
123
  return this.help(args.message);
86
124
  }
87
- await (0, import_internals.checkUnsupportedDataProxy)("db pull", args, config.schema, !args["--url"]);
88
125
  if (args["--help"]) {
89
126
  return this.help();
90
127
  }
91
128
  const url = args["--url"];
92
- const schemaPathResult = await (0, import_internals.getSchemaWithPathOptional)(args["--schema"], config.schema);
93
- let schemaPath = schemaPathResult?.schemaPath ?? null;
94
- const rootDir = schemaPathResult?.schemaRootDir ?? process.cwd();
95
- debug("schemaPathResult", schemaPathResult);
96
- if (schemaPath && !args["--print"]) {
97
- process.stdout.write((0, import_chunk_SKRR5WT4.dim)(`Prisma schema loaded from ${import_path.default.relative(process.cwd(), schemaPath)}`) + "\n");
98
- await (0, import_internals.loadEnvFile)({ schemaPath: args["--schema"], printMessage: true, config });
99
- (0, import_chunk_QOPTDDIH.printDatasource)({ datasourceInfo: await (0, import_chunk_DJMFXNR4.getDatasourceInfo)({ schemaPath }) });
100
- } else {
101
- await (0, import_internals.loadEnvFile)({ schemaPath: args["--schema"], printMessage: false, config });
129
+ await (0, import_internals.loadEnvFile)({ schemaPath: args["--schema"], printMessage: !args["--print"], config });
130
+ const schemaContext = await (0, import_internals.loadSchemaContext)({
131
+ schemaPathFromArg: args["--schema"],
132
+ schemaPathFromConfig: config.schema,
133
+ printLoadMessage: false,
134
+ allowNull: true
135
+ });
136
+ (0, import_internals.checkUnsupportedDataProxy)({
137
+ cmd: "db pull",
138
+ schemaContext: schemaContext && !url ? schemaContext : void 0,
139
+ urls: [url]
140
+ });
141
+ if (schemaContext && !args["--print"]) {
142
+ process.stdout.write((0, import_chunk_SKRR5WT4.dim)(`Prisma schema loaded from ${schemaContext.loadedFromPathForLogMessages}`) + "\n");
143
+ (0, import_chunk_QOPTDDIH.printDatasource)({ datasourceInfo: (0, import_chunk_74LUB4XX.parseDatasourceInfo)(schemaContext?.primaryDatasource) });
102
144
  }
103
145
  const fromD1 = Boolean(args["--local-d1"]);
104
- if (!url && !schemaPath && !fromD1) {
146
+ if (!url && !schemaContext && !fromD1) {
105
147
  throw new import_chunk_3WC4XD74.NoSchemaFoundError();
106
148
  }
107
- const { firstDatasource, schema, validationWarning } = await (0, import_chunk_MATFO4ZW.z)({ url, schemaPath, fromD1 }).when(
108
- (input) => input.schemaPath !== null,
149
+ const adapter = await config.migrate?.adapter(process.env);
150
+ const { firstDatasource, schema, validationWarning } = await (0, import_chunk_OEWQACEH.z)({ url, schemaContext, fromD1 }).when(
151
+ (input) => input.schemaContext !== null,
109
152
  async (input) => {
110
- const rawSchema = await (0, import_internals.getSchema)(input.schemaPath, config.schema);
111
- const engineConfig = await (0, import_internals.getConfig)({
112
- datamodel: rawSchema,
113
- ignoreEnvVarErrors: true
114
- });
115
- const previewFeatures = engineConfig.generators.find(({ name }) => name === "client")?.previewFeatures;
116
- const firstDatasource2 = engineConfig.datasources[0] ? engineConfig.datasources[0] : void 0;
153
+ const previewFeatures = input.schemaContext.generators.find(({ name }) => name === "client")?.previewFeatures;
154
+ const firstDatasource2 = input.schemaContext.primaryDatasource ? input.schemaContext.primaryDatasource : void 0;
117
155
  if (input.url) {
118
156
  let providerFromSchema = firstDatasource2?.provider;
119
157
  if (providerFromSchema === "postgres") {
120
158
  providerFromSchema = "postgresql";
121
159
  }
122
160
  const providerFromUrl = (0, import_internals.protocolToConnectorType)(`${input.url.split(":")[0]}:`);
123
- const schema2 = (0, import_chunk_RR6BKMNO.replaceOrAddDatasource)(this.urlToDatasource(input.url, providerFromSchema), rawSchema);
161
+ const schema2 = (0, import_chunk_RR6BKMNO.replaceOrAddDatasource)(
162
+ this.urlToDatasource(input.url, providerFromSchema),
163
+ input.schemaContext.schemaFiles
164
+ );
124
165
  if (providerFromSchema && providerFromUrl && providerFromSchema !== providerFromUrl && Boolean(providerFromSchema === "cockroachdb" && providerFromUrl === "postgresql") === false) {
125
166
  throw new Error(
126
167
  `The database provider found in --url (${providerFromUrl}) is different from the provider found in the Prisma schema (${providerFromSchema}).`
@@ -129,7 +170,7 @@ var _DbPull = class _DbPull2 {
129
170
  return { firstDatasource: firstDatasource2, schema: schema2, validationWarning: void 0 };
130
171
  } else if (input.fromD1) {
131
172
  const d1Database = await (0, import_internals.locateLocalCloudflareD1)({ arg: "--from-local-d1" });
132
- const pathToSQLiteFile = import_path.default.relative(import_path.default.dirname(input.schemaPath), d1Database);
173
+ const pathToSQLiteFile = import_path.default.relative(input.schemaContext.schemaRootDir, d1Database);
133
174
  const schema2 = [
134
175
  ["schema.prisma", this.urlToDatasource(`file:${pathToSQLiteFile}`, "sqlite")]
135
176
  ];
@@ -151,11 +192,11 @@ var _DbPull = class _DbPull2 {
151
192
  }
152
193
  } else {
153
194
  await (0, import_internals.getConfig)({
154
- datamodel: rawSchema,
195
+ datamodel: input.schemaContext.schemaFiles,
155
196
  ignoreEnvVarErrors: false
156
197
  });
157
198
  }
158
- return { firstDatasource: firstDatasource2, schema: rawSchema, validationWarning: void 0 };
199
+ return { firstDatasource: firstDatasource2, schema: input.schemaContext.schemaFiles, validationWarning: void 0 };
159
200
  }
160
201
  ).when(
161
202
  (input) => input.fromD1 === true,
@@ -186,10 +227,9 @@ ${this.urlToDatasource(`file:${pathToSQLiteFile}`, "sqlite")}`;
186
227
  return { firstDatasource: config2.datasources[0], schema: schema2, validationWarning: void 0 };
187
228
  }
188
229
  ).run();
189
- if (schemaPath) {
190
- const schemas = await (0, import_internals.getSchema)(args["--schema"], config.schema);
230
+ if (schemaContext) {
191
231
  const modelRegex = /\s*model\s*(\w+)\s*{/;
192
- const isReintrospection = schemas.some(([_, schema2]) => !!modelRegex.exec(schema2));
232
+ const isReintrospection = schemaContext.schemaFiles.some(([_, schema2]) => !!modelRegex.exec(schema2));
193
233
  if (isReintrospection && !args["--force"] && firstDatasource?.provider === "mongodb") {
194
234
  throw new Error(`Iterating on one schema using re-introspection with db pull is currently not supported with MongoDB provider.
195
235
  You can explicitly ignore and override your current local schema file with ${(0, import_chunk_SKRR5WT4.green)(
@@ -200,18 +240,19 @@ Some information will be lost (relations, comments, mapped fields, @ignore...),
200
240
  )} for more info.`);
201
241
  }
202
242
  }
203
- const engine = new import_chunk_ZOEKRXDP.SchemaEngine({
204
- schemaPath: schemaPath ?? void 0
205
- });
206
- const basedOn = !args["--url"] && schemaPath ? ` based on datasource defined in ${(0, import_chunk_SKRR5WT4.underline)(import_path.default.relative(process.cwd(), schemaPath))}` : "";
243
+ const migrate = await import_chunk_YSWLN2IJ.Migrate.setup({ adapter, schemaContext: schemaContext ?? void 0 });
244
+ const engine = migrate.engine;
245
+ const basedOn = !args["--url"] && schemaContext?.primaryDatasource ? ` based on datasource defined in ${(0, import_chunk_SKRR5WT4.underline)(schemaContext.loadedFromPathForLogMessages)}` : "";
207
246
  const introspectionSpinner = spinnerFactory(`Introspecting${basedOn}`);
208
247
  const before = Math.round(performance.now());
209
248
  let introspectionSchema = void 0;
210
249
  let introspectionWarnings;
211
250
  try {
251
+ const directoryConfig = (0, import_internals.inferDirectoryConfig)(schemaContext);
212
252
  const introspectionResult = await engine.introspect({
213
253
  schema: (0, import_internals.toSchemasContainer)(schema),
214
- baseDirectoryPath: rootDir,
254
+ baseDirectoryPath: schemaContext?.schemaRootDir ?? process.cwd(),
255
+ viewsDirectoryPath: directoryConfig.viewsDirPath,
215
256
  force: args["--force"],
216
257
  compositeTypeDepth: args["--composite-type-depth"],
217
258
  namespaces: args["--schemas"]?.split(",")
@@ -283,7 +324,6 @@ Or run this command with the ${(0, import_chunk_SKRR5WT4.green)(
283
324
  console.error(introspectionWarningsMessage.replace(/(\n)/gm, "\n// "));
284
325
  }
285
326
  } else {
286
- schemaPath = schemaPath || "schema.prisma";
287
327
  if (args["--force"]) {
288
328
  await (0, import_chunk_JZ75RIMZ.removeSchemaFiles)(schema);
289
329
  }
@@ -300,8 +340,9 @@ Or run this command with the ${(0, import_chunk_SKRR5WT4.green)(
300
340
  const modelsAndTypesCountMessage = modelsCount + typesCount > 1 ? `${modelsAndTypesMessage} and wrote them` : `${modelsAndTypesMessage} and wrote it`;
301
341
  const renderValidationWarning = validationWarning ? `
302
342
  ${(0, import_chunk_SKRR5WT4.yellow)(validationWarning)}` : "";
343
+ const introspectedSchemaPath = schemaContext?.loadedFromPathForLogMessages || introspectionSchema.files[0].path;
303
344
  introspectionSpinner.success(`Introspected ${modelsAndTypesCountMessage} into ${(0, import_chunk_SKRR5WT4.underline)(
304
- import_path.default.relative(process.cwd(), schemaPath)
345
+ import_path.default.relative(process.cwd(), introspectedSchemaPath)
305
346
  )} in ${(0, import_chunk_SKRR5WT4.bold)((0, import_internals.formatms)(Math.round(performance.now()) - before))}
306
347
  ${(0, import_chunk_SKRR5WT4.yellow)(introspectionWarningsMessage)}
307
348
  ${`Run ${(0, import_chunk_SKRR5WT4.green)((0, import_internals.getCommandWithExecutor)("prisma generate"))} to generate Prisma Client.`}${renderValidationWarning}`);
@@ -319,48 +360,8 @@ ${warnings}`;
319
360
  if (error) {
320
361
  return new import_internals.HelpError(`
321
362
  ${(0, import_chunk_SKRR5WT4.bold)((0, import_chunk_SKRR5WT4.red)(`!`))} ${error}
322
- ${_DbPull2.help}`);
363
+ ${_DbPull.help}`);
323
364
  }
324
- return _DbPull2.help;
365
+ return _DbPull.help;
325
366
  }
326
367
  };
327
- (0, import_chunk_WWAWV7DQ.__publicField)(_DbPull, "help", (0, import_internals.format)(`
328
- Pull the state from the database to the Prisma schema using introspection
329
-
330
- ${(0, import_chunk_SKRR5WT4.bold)("Usage")}
331
-
332
- ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db pull [flags/options]
333
-
334
- ${(0, import_chunk_SKRR5WT4.bold)("Flags")}
335
-
336
- -h, --help Display this help message
337
- --force Ignore current Prisma schema file
338
- --print Print the introspected Prisma schema to stdout
339
-
340
- ${(0, import_chunk_SKRR5WT4.bold)("Options")}
341
-
342
- --config Custom path to your Prisma config file
343
- --schema Custom path to your Prisma schema
344
- --composite-type-depth Specify the depth for introspecting composite types (e.g. Embedded Documents in MongoDB)
345
- Number, default is -1 for infinite depth, 0 = off
346
- --schemas Specify the database schemas to introspect. This overrides the schemas defined in the datasource block of your Prisma schema.
347
- --local-d1 Generate a Prisma schema from a local Cloudflare D1 database
348
- ${(0, import_chunk_SKRR5WT4.bold)("Examples")}
349
-
350
- With an existing Prisma schema
351
- ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db pull
352
-
353
- Or specify a Prisma schema path
354
- ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db pull --schema=./schema.prisma
355
-
356
- Instead of saving the result to the filesystem, you can also print it to stdout
357
- ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db pull --print
358
-
359
- Overwrite the current schema with the introspected schema instead of enriching it
360
- ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db pull --force
361
-
362
- Set composite types introspection depth to 2 levels
363
- ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db pull --composite-type-depth=2
364
-
365
- `));
366
- var DbPull = _DbPull;
@@ -26,24 +26,53 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_V5TUSOJX_exports = {};
30
- __export(chunk_V5TUSOJX_exports, {
29
+ var chunk_SQKGZVG3_exports = {};
30
+ __export(chunk_SQKGZVG3_exports, {
31
31
  DbDrop: () => DbDrop
32
32
  });
33
- module.exports = __toCommonJS(chunk_V5TUSOJX_exports);
33
+ module.exports = __toCommonJS(chunk_SQKGZVG3_exports);
34
34
  var import_chunk_IHDN3L3R = require("./chunk-IHDN3L3R.js");
35
35
  var import_chunk_3WC4XD74 = require("./chunk-3WC4XD74.js");
36
- var import_chunk_GKDFIHM2 = require("./chunk-GKDFIHM2.js");
37
36
  var import_chunk_QOPTDDIH = require("./chunk-QOPTDDIH.js");
38
- var import_chunk_DJMFXNR4 = require("./chunk-DJMFXNR4.js");
37
+ var import_chunk_74LUB4XX = require("./chunk-74LUB4XX.js");
39
38
  var import_chunk_SKRR5WT4 = require("./chunk-SKRR5WT4.js");
40
- var import_chunk_WWAWV7DQ = require("./chunk-WWAWV7DQ.js");
41
39
  var import_internals = require("@prisma/internals");
42
40
  var import_prompts = __toESM(require("prompts"));
43
- var _DbDrop = class _DbDrop2 {
41
+ var DbDrop = class _DbDrop {
44
42
  static new() {
45
- return new _DbDrop2();
43
+ return new _DbDrop();
46
44
  }
45
+ static help = (0, import_internals.format)(`
46
+ ${process.platform === "win32" ? "" : "\u{1F4A3} "}Drop the database
47
+
48
+ ${(0, import_chunk_SKRR5WT4.bold)((0, import_chunk_SKRR5WT4.yellow)("WARNING"))} ${(0, import_chunk_SKRR5WT4.bold)(
49
+ `Prisma db drop is currently in Preview (${(0, import_internals.link)("https://pris.ly/d/preview")}).
50
+ There may be bugs and it's not recommended to use it in production environments.`
51
+ )}
52
+ ${(0, import_chunk_SKRR5WT4.dim)("When using any of the subcommands below you need to explicitly opt-in via the --preview-feature flag.")}
53
+
54
+ ${(0, import_chunk_SKRR5WT4.bold)("Usage")}
55
+
56
+ ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db drop [options] --preview-feature
57
+
58
+ ${(0, import_chunk_SKRR5WT4.bold)("Options")}
59
+
60
+ -h, --help Display this help message
61
+ --config Custom path to your Prisma config file
62
+ --schema Custom path to your Prisma schema
63
+ -f, --force Skip the confirmation prompt
64
+
65
+ ${(0, import_chunk_SKRR5WT4.bold)("Examples")}
66
+
67
+ Drop the database
68
+ ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db drop --preview-feature
69
+
70
+ Specify a schema
71
+ ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db drop --preview-feature --schema=./schema.prisma
72
+
73
+ Use --force to skip the confirmation prompt
74
+ ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db drop --preview-feature --force
75
+ `);
47
76
  async parse(argv, config) {
48
77
  const args = (0, import_internals.arg)(argv, {
49
78
  "--help": Boolean,
@@ -58,7 +87,6 @@ var _DbDrop = class _DbDrop2 {
58
87
  if ((0, import_internals.isError)(args)) {
59
88
  return this.help(args.message);
60
89
  }
61
- await (0, import_internals.checkUnsupportedDataProxy)("db drop", args, config.schema, true);
62
90
  if (args["--help"]) {
63
91
  return this.help();
64
92
  }
@@ -66,8 +94,12 @@ var _DbDrop = class _DbDrop2 {
66
94
  throw new import_chunk_IHDN3L3R.PreviewFlagError();
67
95
  }
68
96
  await (0, import_internals.loadEnvFile)({ schemaPath: args["--schema"], printMessage: true, config });
69
- const { schemaPath } = await (0, import_chunk_GKDFIHM2.getSchemaPathAndPrint)(args["--schema"], config.schema);
70
- const datasourceInfo = await (0, import_chunk_DJMFXNR4.getDatasourceInfo)({ schemaPath, throwIfEnvError: true });
97
+ const schemaContext = await (0, import_internals.loadSchemaContext)({
98
+ schemaPathFromArg: args["--schema"],
99
+ schemaPathFromConfig: config.schema
100
+ });
101
+ (0, import_internals.checkUnsupportedDataProxy)({ cmd: "db drop", schemaContext });
102
+ const datasourceInfo = (0, import_chunk_74LUB4XX.parseDatasourceInfo)(schemaContext.primaryDatasource);
71
103
  (0, import_chunk_QOPTDDIH.printDatasource)({ datasourceInfo });
72
104
  process.stdout.write("\n");
73
105
  if (!args["--force"]) {
@@ -100,40 +132,8 @@ ${(0, import_chunk_SKRR5WT4.red)("All data will be lost")}.`
100
132
  if (error) {
101
133
  return new import_internals.HelpError(`
102
134
  ${(0, import_chunk_SKRR5WT4.bold)((0, import_chunk_SKRR5WT4.red)(`!`))} ${error}
103
- ${_DbDrop2.help}`);
135
+ ${_DbDrop.help}`);
104
136
  }
105
- return _DbDrop2.help;
137
+ return _DbDrop.help;
106
138
  }
107
139
  };
108
- (0, import_chunk_WWAWV7DQ.__publicField)(_DbDrop, "help", (0, import_internals.format)(`
109
- ${process.platform === "win32" ? "" : "\u{1F4A3} "}Drop the database
110
-
111
- ${(0, import_chunk_SKRR5WT4.bold)((0, import_chunk_SKRR5WT4.yellow)("WARNING"))} ${(0, import_chunk_SKRR5WT4.bold)(
112
- `Prisma db drop is currently in Preview (${(0, import_internals.link)("https://pris.ly/d/preview")}).
113
- There may be bugs and it's not recommended to use it in production environments.`
114
- )}
115
- ${(0, import_chunk_SKRR5WT4.dim)("When using any of the subcommands below you need to explicitly opt-in via the --preview-feature flag.")}
116
-
117
- ${(0, import_chunk_SKRR5WT4.bold)("Usage")}
118
-
119
- ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db drop [options] --preview-feature
120
-
121
- ${(0, import_chunk_SKRR5WT4.bold)("Options")}
122
-
123
- -h, --help Display this help message
124
- --config Custom path to your Prisma config file
125
- --schema Custom path to your Prisma schema
126
- -f, --force Skip the confirmation prompt
127
-
128
- ${(0, import_chunk_SKRR5WT4.bold)("Examples")}
129
-
130
- Drop the database
131
- ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db drop --preview-feature
132
-
133
- Specify a schema
134
- ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db drop --preview-feature --schema=./schema.prisma
135
-
136
- Use --force to skip the confirmation prompt
137
- ${(0, import_chunk_SKRR5WT4.dim)("$")} prisma db drop --preview-feature --force
138
- `));
139
- var DbDrop = _DbDrop;