@prisma/migrate 5.19.0-integration-feat-typed-sql.18 → 5.19.0-integration-feat-typed-sql.20

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.
package/dist/bin.js CHANGED
@@ -60,7 +60,7 @@ var import_chunk_EFPE3Q7J = require("./chunk-EFPE3Q7J.js");
60
60
  var import_chunk_WOOPRG54 = require("./chunk-WOOPRG54.js");
61
61
  var import_chunk_6QFE3AWR = require("./chunk-6QFE3AWR.js");
62
62
  var import_chunk_LKTTJWFT = require("./chunk-LKTTJWFT.js");
63
- var import_chunk_SVHPVOBX = require("./chunk-SVHPVOBX.js");
63
+ var import_chunk_JGOZYXXG = require("./chunk-JGOZYXXG.js");
64
64
  var import_chunk_VWV2NY26 = require("./chunk-VWV2NY26.js");
65
65
  var import_chunk_XRTNIFND = require("./chunk-XRTNIFND.js");
66
66
  var import_chunk_TKAGMA5K = require("./chunk-TKAGMA5K.js");
@@ -94,7 +94,7 @@ var require_bin = (0, import_chunk_WWAWV7DQ.__commonJS)({
94
94
  (0, import_chunk_CK5VLKFM.init_MigrateCommand)();
95
95
  (0, import_chunk_UJWMQPUH.init_MigrateDeploy)();
96
96
  (0, import_chunk_LLGEQ76N.init_MigrateDev)();
97
- (0, import_chunk_SVHPVOBX.init_MigrateDiff)();
97
+ (0, import_chunk_JGOZYXXG.init_MigrateDiff)();
98
98
  (0, import_chunk_XVL5RF2T.init_MigrateReset)();
99
99
  (0, import_chunk_BAVMZZAR.init_MigrateResolve)();
100
100
  (0, import_chunk_SV5GANSI.init_MigrateStatus)();
@@ -118,7 +118,7 @@ var require_bin = (0, import_chunk_WWAWV7DQ.__commonJS)({
118
118
  resolve: import_chunk_BAVMZZAR.MigrateResolve.new(),
119
119
  reset: import_chunk_XVL5RF2T.MigrateReset.new(),
120
120
  deploy: import_chunk_UJWMQPUH.MigrateDeploy.new(),
121
- diff: import_chunk_SVHPVOBX.MigrateDiff.new()
121
+ diff: import_chunk_JGOZYXXG.MigrateDiff.new()
122
122
  }),
123
123
  db: import_chunk_NJUAN6V2.DbCommand.new({
124
124
  execute: import_chunk_ZBOJAYON.DbExecute.new(),
@@ -16,17 +16,21 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_NOGVKXTH_exports = {};
20
- __export(chunk_NOGVKXTH_exports, {
19
+ var chunk_2RZTUNCB_exports = {};
20
+ __export(chunk_2RZTUNCB_exports, {
21
21
  introspectSql: () => introspectSql
22
22
  });
23
- module.exports = __toCommonJS(chunk_NOGVKXTH_exports);
23
+ module.exports = __toCommonJS(chunk_2RZTUNCB_exports);
24
24
  var import_chunk_XLLUFIQK = require("./chunk-XLLUFIQK.js");
25
25
  var import_internals = require("@prisma/internals");
26
26
  (0, import_chunk_XLLUFIQK.init_SchemaEngine)();
27
+ var supportedProviders = ["postgresql", "mysql", "sqlite"];
27
28
  async function introspectSql(schemaPath, queries) {
28
29
  const schema = await (0, import_internals.getSchemaWithPath)(schemaPath);
29
30
  const config = await (0, import_internals.getConfig)({ datamodel: schema.schemas });
31
+ if (!supportedProviders.includes(config.datasources?.[0]?.activeProvider)) {
32
+ throw new Error(`Typed SQL is supported only for ${supportedProviders.join(", ")} providers`);
33
+ }
30
34
  if (!isTypedSqlEnabled(config)) {
31
35
  throw new Error(`\`typedSql\` preview feature needs to be enabled in ${schema.schemaPath}`);
32
36
  }
@@ -39,15 +43,54 @@ async function introspectSql(schemaPath, queries) {
39
43
  throw new Error(`Could not get url from datasource ${firstDatasource.name} in ${schema.schemaPath}`);
40
44
  }
41
45
  const schemaEngine = new import_chunk_XLLUFIQK.SchemaEngine({ schemaPath: schema.schemaPath });
46
+ const results = [];
47
+ const errors = [];
48
+ try {
49
+ for (const query of queries) {
50
+ const queryResult = await introspectSingleQuery(schemaEngine, url, query);
51
+ if (queryResult.ok) {
52
+ results.push(queryResult.result);
53
+ } else {
54
+ errors.push(queryResult.error);
55
+ }
56
+ }
57
+ } finally {
58
+ schemaEngine.stop();
59
+ }
60
+ if (errors.length > 0) {
61
+ return { ok: false, errors };
62
+ }
63
+ return { ok: true, queries: results };
64
+ }
65
+ async function introspectSingleQuery(schemaEngine, url, query) {
42
66
  try {
43
67
  const result = await schemaEngine.introspectSql({
44
68
  url,
45
- queries,
69
+ queries: [query],
46
70
  force: false
47
71
  });
48
- return result;
49
- } finally {
50
- schemaEngine.stop();
72
+ const queryResult = result.queries[0];
73
+ if (!queryResult) {
74
+ return {
75
+ ok: false,
76
+ error: {
77
+ fileName: query.fileName,
78
+ message: "Invalid response from schema engine"
79
+ }
80
+ };
81
+ }
82
+ return {
83
+ ok: true,
84
+ result: queryResult
85
+ };
86
+ } catch (error) {
87
+ return {
88
+ ok: false,
89
+ error: {
90
+ fileName: query.fileName,
91
+ message: String(error)
92
+ }
93
+ };
51
94
  }
52
95
  }
53
96
  function isTypedSqlEnabled(config) {
@@ -26,12 +26,12 @@ 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_SVHPVOBX_exports = {};
30
- __export(chunk_SVHPVOBX_exports, {
29
+ var chunk_JGOZYXXG_exports = {};
30
+ __export(chunk_JGOZYXXG_exports, {
31
31
  MigrateDiff: () => MigrateDiff,
32
32
  init_MigrateDiff: () => init_MigrateDiff
33
33
  });
34
- module.exports = __toCommonJS(chunk_SVHPVOBX_exports);
34
+ module.exports = __toCommonJS(chunk_JGOZYXXG_exports);
35
35
  var import_chunk_VWV2NY26 = require("./chunk-VWV2NY26.js");
36
36
  var import_chunk_XRTNIFND = require("./chunk-XRTNIFND.js");
37
37
  var import_chunk_TKAGMA5K = require("./chunk-TKAGMA5K.js");
@@ -10754,7 +10754,7 @@ var require_package = (0, import_chunk_WWAWV7DQ.__commonJS)({
10754
10754
  "../internals/package.json"(exports, module2) {
10755
10755
  module2.exports = {
10756
10756
  name: "@prisma/internals",
10757
- version: "5.19.0-integration-feat-typed-sql.18",
10757
+ version: "5.19.0-integration-feat-typed-sql.20",
10758
10758
  description: "This package is intended for Prisma's internal use",
10759
10759
  main: "dist/index.js",
10760
10760
  types: "dist/index.d.ts",
@@ -18,10 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var MigrateDiff_exports = {};
20
20
  __export(MigrateDiff_exports, {
21
- MigrateDiff: () => import_chunk_SVHPVOBX.MigrateDiff
21
+ MigrateDiff: () => import_chunk_JGOZYXXG.MigrateDiff
22
22
  });
23
23
  module.exports = __toCommonJS(MigrateDiff_exports);
24
- var import_chunk_SVHPVOBX = require("../chunk-SVHPVOBX.js");
24
+ var import_chunk_JGOZYXXG = require("../chunk-JGOZYXXG.js");
25
25
  var import_chunk_VWV2NY26 = require("../chunk-VWV2NY26.js");
26
26
  var import_chunk_XRTNIFND = require("../chunk-XRTNIFND.js");
27
27
  var import_chunk_TKAGMA5K = require("../chunk-TKAGMA5K.js");
@@ -34,4 +34,4 @@ var import_chunk_LVFPGUOH = require("../chunk-LVFPGUOH.js");
34
34
  var import_chunk_AAATUOV6 = require("../chunk-AAATUOV6.js");
35
35
  var import_chunk_6TE2RIPN = require("../chunk-6TE2RIPN.js");
36
36
  var import_chunk_WWAWV7DQ = require("../chunk-WWAWV7DQ.js");
37
- (0, import_chunk_SVHPVOBX.init_MigrateDiff)();
37
+ (0, import_chunk_JGOZYXXG.init_MigrateDiff)();
package/dist/index.js CHANGED
@@ -29,7 +29,7 @@ __export(dist_exports, {
29
29
  MigrateCommand: () => import_chunk_CK5VLKFM.MigrateCommand,
30
30
  MigrateDeploy: () => import_chunk_UJWMQPUH.MigrateDeploy,
31
31
  MigrateDev: () => import_chunk_LLGEQ76N.MigrateDev,
32
- MigrateDiff: () => import_chunk_SVHPVOBX.MigrateDiff,
32
+ MigrateDiff: () => import_chunk_JGOZYXXG.MigrateDiff,
33
33
  MigrateReset: () => import_chunk_XVL5RF2T.MigrateReset,
34
34
  MigrateResolve: () => import_chunk_BAVMZZAR.MigrateResolve,
35
35
  MigrateStatus: () => import_chunk_SV5GANSI.MigrateStatus,
@@ -37,11 +37,11 @@ __export(dist_exports, {
37
37
  byline: () => import_chunk_AAATUOV6.byline,
38
38
  getDatabaseVersionSafe: () => import_chunk_GJN3CSXW.getDatabaseVersionSafe,
39
39
  getSchemaPathAndPrint: () => import_chunk_EYA6AFSF.getSchemaPathAndPrint,
40
- introspectSql: () => import_chunk_NOGVKXTH.introspectSql,
40
+ introspectSql: () => import_chunk_2RZTUNCB.introspectSql,
41
41
  printSchemaLoadedMessage: () => import_chunk_EYA6AFSF.printSchemaLoadedMessage
42
42
  });
43
43
  module.exports = __toCommonJS(dist_exports);
44
- var import_chunk_NOGVKXTH = require("./chunk-NOGVKXTH.js");
44
+ var import_chunk_2RZTUNCB = require("./chunk-2RZTUNCB.js");
45
45
  var import_chunk_GJN3CSXW = require("./chunk-GJN3CSXW.js");
46
46
  var import_chunk_XVL5RF2T = require("./chunk-XVL5RF2T.js");
47
47
  var import_chunk_BAVMZZAR = require("./chunk-BAVMZZAR.js");
@@ -69,7 +69,7 @@ var import_chunk_EFPE3Q7J = require("./chunk-EFPE3Q7J.js");
69
69
  var import_chunk_WOOPRG54 = require("./chunk-WOOPRG54.js");
70
70
  var import_chunk_6QFE3AWR = require("./chunk-6QFE3AWR.js");
71
71
  var import_chunk_LKTTJWFT = require("./chunk-LKTTJWFT.js");
72
- var import_chunk_SVHPVOBX = require("./chunk-SVHPVOBX.js");
72
+ var import_chunk_JGOZYXXG = require("./chunk-JGOZYXXG.js");
73
73
  var import_chunk_VWV2NY26 = require("./chunk-VWV2NY26.js");
74
74
  var import_chunk_XRTNIFND = require("./chunk-XRTNIFND.js");
75
75
  var import_chunk_TKAGMA5K = require("./chunk-TKAGMA5K.js");
@@ -99,7 +99,7 @@ var import_chunk_WWAWV7DQ = require("./chunk-WWAWV7DQ.js");
99
99
  (0, import_chunk_CK5VLKFM.init_MigrateCommand)();
100
100
  (0, import_chunk_UJWMQPUH.init_MigrateDeploy)();
101
101
  (0, import_chunk_LLGEQ76N.init_MigrateDev)();
102
- (0, import_chunk_SVHPVOBX.init_MigrateDiff)();
102
+ (0, import_chunk_JGOZYXXG.init_MigrateDiff)();
103
103
  (0, import_chunk_XVL5RF2T.init_MigrateReset)();
104
104
  (0, import_chunk_BAVMZZAR.init_MigrateResolve)();
105
105
  (0, import_chunk_SV5GANSI.init_MigrateStatus)();
@@ -17,4 +17,4 @@ export * from './types';
17
17
  export { default as byline } from './utils/byline';
18
18
  export { getDatabaseVersionSafe } from './utils/getDatabaseVersionSafe';
19
19
  export { getSchemaPathAndPrint, printSchemaLoadedMessage } from './utils/getSchemaPathAndPrint';
20
- export { introspectSql } from './utils/introspectSql';
20
+ export { introspectSql, type IntrospectSqlError, type IntrospectSqlInput, type IntrospectSqlResult, } from './utils/introspectSql';
@@ -1,2 +1,17 @@
1
- import { EngineArgs, EngineResults } from '../types';
2
- export declare function introspectSql(schemaPath: string | undefined, queries: EngineArgs.SqlQueryInput[]): Promise<EngineResults.IntrospectSqlOutput>;
1
+ import { SqlQueryOutput } from '@prisma/generator-helper';
2
+ import { EngineArgs } from '../types';
3
+ export interface IntrospectSqlInput extends EngineArgs.SqlQueryInput {
4
+ fileName: string;
5
+ }
6
+ export type IntrospectSqlError = {
7
+ fileName: string;
8
+ message: string;
9
+ };
10
+ export type IntrospectSqlResult = {
11
+ ok: true;
12
+ queries: SqlQueryOutput[];
13
+ } | {
14
+ ok: false;
15
+ errors: IntrospectSqlError[];
16
+ };
17
+ export declare function introspectSql(schemaPath: string | undefined, queries: IntrospectSqlInput[]): Promise<IntrospectSqlResult>;
@@ -18,10 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var introspectSql_exports = {};
20
20
  __export(introspectSql_exports, {
21
- introspectSql: () => import_chunk_NOGVKXTH.introspectSql
21
+ introspectSql: () => import_chunk_2RZTUNCB.introspectSql
22
22
  });
23
23
  module.exports = __toCommonJS(introspectSql_exports);
24
- var import_chunk_NOGVKXTH = require("../chunk-NOGVKXTH.js");
24
+ var import_chunk_2RZTUNCB = require("../chunk-2RZTUNCB.js");
25
25
  var import_chunk_XLLUFIQK = require("../chunk-XLLUFIQK.js");
26
26
  var import_chunk_LVFPGUOH = require("../chunk-LVFPGUOH.js");
27
27
  var import_chunk_AAATUOV6 = require("../chunk-AAATUOV6.js");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma/migrate",
3
- "version": "5.19.0-integration-feat-typed-sql.18",
3
+ "version": "5.19.0-integration-feat-typed-sql.20",
4
4
  "description": "This package is intended for Prisma's internal use",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -58,10 +58,10 @@
58
58
  "dependencies": {
59
59
  "@prisma/engines-version": "5.19.0-25.feat-typed-sql-nullability-860858bb818708261f36cd05bc915e603aae5004",
60
60
  "prompts": "2.4.2",
61
- "@prisma/debug": "5.19.0-integration-feat-typed-sql.18",
62
- "@prisma/internals": "5.19.0-integration-feat-typed-sql.18",
63
- "@prisma/get-platform": "5.19.0-integration-feat-typed-sql.18",
64
- "@prisma/generator-helper": "5.19.0-integration-feat-typed-sql.18"
61
+ "@prisma/debug": "5.19.0-integration-feat-typed-sql.20",
62
+ "@prisma/generator-helper": "5.19.0-integration-feat-typed-sql.20",
63
+ "@prisma/get-platform": "5.19.0-integration-feat-typed-sql.20",
64
+ "@prisma/internals": "5.19.0-integration-feat-typed-sql.20"
65
65
  },
66
66
  "files": [
67
67
  "README.md",